├── .bowerrc
├── .gitignore
├── .idea
├── .name
├── autocomplete-demo.iml
├── encodings.xml
├── inspectionProfiles
│ ├── Project_Default.xml
│ └── profiles_settings.xml
├── jsLibraryMappings.xml
├── jsLinters
│ └── jshint.xml
├── misc.xml
├── modules.xml
├── runConfigurations
│ └── bin_www.xml
├── scopes
│ └── scope_settings.xml
├── vcs.xml
└── workspace.xml
├── README.md
├── app.js
├── bin
└── www
├── package.json
├── public
├── css
│ ├── app.css
│ ├── bootstrap.css
│ └── font-awesome.css
├── index.html
├── js
│ ├── app.js
│ ├── controllers.js
│ └── directives.js
├── lib
│ └── angular
│ │ ├── .bower.json
│ │ ├── README.md
│ │ ├── angular-csp.css
│ │ ├── angular.js
│ │ ├── angular.min.js
│ │ ├── angular.min.js.gzip
│ │ ├── angular.min.js.map
│ │ ├── bower.json
│ │ └── package.json
└── views
│ └── autocomplete-template.html
├── routes
├── index.js
├── tags.js
└── users.js
└── views
├── error.ejs
└── index.ejs
/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory" : "public/lib"
3 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .idea/
--------------------------------------------------------------------------------
/.idea/.name:
--------------------------------------------------------------------------------
1 | autocomplete-demo
--------------------------------------------------------------------------------
/.idea/autocomplete-demo.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.idea/jsLibraryMappings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.idea/jsLinters/jshint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/runConfigurations/bin_www.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/scopes/scope_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/workspace.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 | 1413465681456
256 | 1413465681456
257 |
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 |
403 |
404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | AngularJS AutoComplete Tag Input
2 | ================================
3 | A demo app showing the usage of AngularJS autocomplete tag input widget.
4 |
5 | To run the app do the following:
6 |
7 | 1. Run `npm install`
8 | 2. Run `node bin/www`
9 | 3. Access the app at `http://localhost:8000`
--------------------------------------------------------------------------------
/app.js:
--------------------------------------------------------------------------------
1 | var express = require('express');
2 | var path = require('path');
3 | var favicon = require('serve-favicon');
4 | var logger = require('morgan');
5 | var cookieParser = require('cookie-parser');
6 | var bodyParser = require('body-parser');
7 |
8 | var routes = require('./routes/index');
9 | var users = require('./routes/users');
10 | var tags=require('./routes/tags');
11 |
12 | var app = express();
13 |
14 | // view engine setup
15 | app.set('views', path.join(__dirname, 'views'));
16 | app.set('view engine', 'ejs');
17 |
18 | // uncomment after placing your favicon in /public
19 | //app.use(favicon(__dirname + '/public/favicon.ico'));
20 | app.use(logger('dev'));
21 | app.use(bodyParser.json());
22 | app.use(bodyParser.urlencoded({ extended: false }));
23 | app.use(cookieParser());
24 | app.use(express.static(path.join(__dirname, 'public')));
25 |
26 | app.use('/',tags);
27 | app.use('/', routes);
28 | app.use('/users', users);
29 |
30 | // catch 404 and forward to error handler
31 | app.use(function(req, res, next) {
32 | var err = new Error('Not Found');
33 | err.status = 404;
34 | next(err);
35 | });
36 |
37 | // error handlers
38 |
39 | // development error handler
40 | // will print stacktrace
41 | if (app.get('env') === 'development') {
42 | app.use(function(err, req, res, next) {
43 | res.status(err.status || 500);
44 | res.render('error', {
45 | message: err.message,
46 | error: err
47 | });
48 | });
49 | }
50 |
51 | // production error handler
52 | // no stacktraces leaked to user
53 | app.use(function(err, req, res, next) {
54 | res.status(err.status || 500);
55 | res.render('error', {
56 | message: err.message,
57 | error: {}
58 | });
59 | });
60 |
61 |
62 | module.exports = app;
63 |
--------------------------------------------------------------------------------
/bin/www:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | var debug = require('debug')('autocomplete-demo');
3 | var app = require('../app');
4 |
5 | app.set('port', process.env.PORT || 8000);
6 |
7 | var server = app.listen(app.get('port'), function() {
8 | debug('Express server listening on port ' + server.address().port);
9 | });
10 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "autocomplete-demo",
3 | "version": "0.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "node ./bin/www"
7 | },
8 | "dependencies": {
9 | "express": "~4.9.0",
10 | "body-parser": "~1.8.1",
11 | "cookie-parser": "~1.3.3",
12 | "morgan": "~1.3.0",
13 | "serve-favicon": "~2.1.3",
14 | "debug": "~2.0.0",
15 | "ejs": "~0.8.5"
16 | }
17 | }
--------------------------------------------------------------------------------
/public/css/app.css:
--------------------------------------------------------------------------------
1 | .top-buffer{
2 | padding-top:20px;
3 | }
4 | .tags-wrapper {
5 | position: relative;
6 | }
7 | .tags-cloud .tag {
8 | float: left;
9 | padding: 4px 6px;
10 | font-size: 1em;
11 | margin-right: 5px;
12 | margin-bottom: 5px;
13 | background: #f2f2f2;
14 | font-weight: 600;
15 | -webkit-border-radius: 4px;
16 | -moz-border-radius: 4px;
17 | border-radius: 4px;
18 | -moz-background-clip: padding;
19 | -webkit-background-clip: padding-box;
20 | background-clip: padding-box;
21 | border: 1px solid #dddddd;
22 | }
23 | .tags-cloud .tag:hover {
24 | border: 1px solid #cccccc;
25 | }
26 | .tags-cloud .tag:hover .cross {
27 | opacity: 1;
28 | }
29 | .tags-cloud .tag .cross {
30 | margin-left: 5px;
31 | margin-right: 3px;
32 | font-size: 1em;
33 | color: #20a28e;
34 | opacity: .7;
35 | cursor: pointer;
36 | }
37 | .suggestions-list {
38 | position: absolute;
39 | list-style-type: none;
40 | margin: 0;
41 | padding: 0;
42 | overflow: auto;
43 | -webkit-border-radius: 4px;
44 | -moz-border-radius: 4px;
45 | border-radius: 4px;
46 | -moz-background-clip: padding;
47 | -webkit-background-clip: padding-box;
48 | background-clip: padding-box;
49 | font-size: 14px;
50 | }
51 | .suggestions-list li {
52 | color: #333333;
53 | font-weight: 600;
54 | padding: 4px 25px;
55 | font-size: 1em;
56 | cursor: pointer;
57 | background: #f2f2f2;
58 | border-bottom: 1px solid #dddddd;
59 | }
60 | .suggestions-list li:hover {
61 | background: #dddddd;
62 | }
63 | .suggestions-list li:active,
64 | .suggestions-list li.active {
65 | color: #20a28e;
66 | background: #dddddd;
67 | }
68 | .suggestions-list:focus{
69 | outline:none;
70 | }
--------------------------------------------------------------------------------
/public/css/font-awesome.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 | /* FONT PATH
6 | * -------------------------- */
7 | @font-face {
8 | font-family: 'FontAwesome';
9 | src: url('../fonts/fontawesome-webfont.eot?v=4.2.0');
10 | src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
11 | font-weight: normal;
12 | font-style: normal;
13 | }
14 | .fa {
15 | display: inline-block;
16 | font: normal normal normal 14px/1 FontAwesome;
17 | font-size: inherit;
18 | text-rendering: auto;
19 | -webkit-font-smoothing: antialiased;
20 | -moz-osx-font-smoothing: grayscale;
21 | }
22 | /* makes the font 33% larger relative to the icon container */
23 | .fa-lg {
24 | font-size: 1.33333333em;
25 | line-height: 0.75em;
26 | vertical-align: -15%;
27 | }
28 | .fa-2x {
29 | font-size: 2em;
30 | }
31 | .fa-3x {
32 | font-size: 3em;
33 | }
34 | .fa-4x {
35 | font-size: 4em;
36 | }
37 | .fa-5x {
38 | font-size: 5em;
39 | }
40 | .fa-fw {
41 | width: 1.28571429em;
42 | text-align: center;
43 | }
44 | .fa-ul {
45 | padding-left: 0;
46 | margin-left: 2.14285714em;
47 | list-style-type: none;
48 | }
49 | .fa-ul > li {
50 | position: relative;
51 | }
52 | .fa-li {
53 | position: absolute;
54 | left: -2.14285714em;
55 | width: 2.14285714em;
56 | top: 0.14285714em;
57 | text-align: center;
58 | }
59 | .fa-li.fa-lg {
60 | left: -1.85714286em;
61 | }
62 | .fa-border {
63 | padding: .2em .25em .15em;
64 | border: solid 0.08em #eeeeee;
65 | border-radius: .1em;
66 | }
67 | .pull-right {
68 | float: right;
69 | }
70 | .pull-left {
71 | float: left;
72 | }
73 | .fa.pull-left {
74 | margin-right: .3em;
75 | }
76 | .fa.pull-right {
77 | margin-left: .3em;
78 | }
79 | .fa-spin {
80 | -webkit-animation: fa-spin 2s infinite linear;
81 | animation: fa-spin 2s infinite linear;
82 | }
83 | @-webkit-keyframes fa-spin {
84 | 0% {
85 | -webkit-transform: rotate(0deg);
86 | transform: rotate(0deg);
87 | }
88 | 100% {
89 | -webkit-transform: rotate(359deg);
90 | transform: rotate(359deg);
91 | }
92 | }
93 | @keyframes fa-spin {
94 | 0% {
95 | -webkit-transform: rotate(0deg);
96 | transform: rotate(0deg);
97 | }
98 | 100% {
99 | -webkit-transform: rotate(359deg);
100 | transform: rotate(359deg);
101 | }
102 | }
103 | .fa-rotate-90 {
104 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
105 | -webkit-transform: rotate(90deg);
106 | -ms-transform: rotate(90deg);
107 | transform: rotate(90deg);
108 | }
109 | .fa-rotate-180 {
110 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
111 | -webkit-transform: rotate(180deg);
112 | -ms-transform: rotate(180deg);
113 | transform: rotate(180deg);
114 | }
115 | .fa-rotate-270 {
116 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
117 | -webkit-transform: rotate(270deg);
118 | -ms-transform: rotate(270deg);
119 | transform: rotate(270deg);
120 | }
121 | .fa-flip-horizontal {
122 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
123 | -webkit-transform: scale(-1, 1);
124 | -ms-transform: scale(-1, 1);
125 | transform: scale(-1, 1);
126 | }
127 | .fa-flip-vertical {
128 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
129 | -webkit-transform: scale(1, -1);
130 | -ms-transform: scale(1, -1);
131 | transform: scale(1, -1);
132 | }
133 | :root .fa-rotate-90,
134 | :root .fa-rotate-180,
135 | :root .fa-rotate-270,
136 | :root .fa-flip-horizontal,
137 | :root .fa-flip-vertical {
138 | filter: none;
139 | }
140 | .fa-stack {
141 | position: relative;
142 | display: inline-block;
143 | width: 2em;
144 | height: 2em;
145 | line-height: 2em;
146 | vertical-align: middle;
147 | }
148 | .fa-stack-1x,
149 | .fa-stack-2x {
150 | position: absolute;
151 | left: 0;
152 | width: 100%;
153 | text-align: center;
154 | }
155 | .fa-stack-1x {
156 | line-height: inherit;
157 | }
158 | .fa-stack-2x {
159 | font-size: 2em;
160 | }
161 | .fa-inverse {
162 | color: #ffffff;
163 | }
164 | /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
165 | readers do not read off random characters that represent icons */
166 | .fa-glass:before {
167 | content: "\f000";
168 | }
169 | .fa-music:before {
170 | content: "\f001";
171 | }
172 | .fa-search:before {
173 | content: "\f002";
174 | }
175 | .fa-envelope-o:before {
176 | content: "\f003";
177 | }
178 | .fa-heart:before {
179 | content: "\f004";
180 | }
181 | .fa-star:before {
182 | content: "\f005";
183 | }
184 | .fa-star-o:before {
185 | content: "\f006";
186 | }
187 | .fa-user:before {
188 | content: "\f007";
189 | }
190 | .fa-film:before {
191 | content: "\f008";
192 | }
193 | .fa-th-large:before {
194 | content: "\f009";
195 | }
196 | .fa-th:before {
197 | content: "\f00a";
198 | }
199 | .fa-th-list:before {
200 | content: "\f00b";
201 | }
202 | .fa-check:before {
203 | content: "\f00c";
204 | }
205 | .fa-remove:before,
206 | .fa-close:before,
207 | .fa-times:before {
208 | content: "\f00d";
209 | }
210 | .fa-search-plus:before {
211 | content: "\f00e";
212 | }
213 | .fa-search-minus:before {
214 | content: "\f010";
215 | }
216 | .fa-power-off:before {
217 | content: "\f011";
218 | }
219 | .fa-signal:before {
220 | content: "\f012";
221 | }
222 | .fa-gear:before,
223 | .fa-cog:before {
224 | content: "\f013";
225 | }
226 | .fa-trash-o:before {
227 | content: "\f014";
228 | }
229 | .fa-home:before {
230 | content: "\f015";
231 | }
232 | .fa-file-o:before {
233 | content: "\f016";
234 | }
235 | .fa-clock-o:before {
236 | content: "\f017";
237 | }
238 | .fa-road:before {
239 | content: "\f018";
240 | }
241 | .fa-download:before {
242 | content: "\f019";
243 | }
244 | .fa-arrow-circle-o-down:before {
245 | content: "\f01a";
246 | }
247 | .fa-arrow-circle-o-up:before {
248 | content: "\f01b";
249 | }
250 | .fa-inbox:before {
251 | content: "\f01c";
252 | }
253 | .fa-play-circle-o:before {
254 | content: "\f01d";
255 | }
256 | .fa-rotate-right:before,
257 | .fa-repeat:before {
258 | content: "\f01e";
259 | }
260 | .fa-refresh:before {
261 | content: "\f021";
262 | }
263 | .fa-list-alt:before {
264 | content: "\f022";
265 | }
266 | .fa-lock:before {
267 | content: "\f023";
268 | }
269 | .fa-flag:before {
270 | content: "\f024";
271 | }
272 | .fa-headphones:before {
273 | content: "\f025";
274 | }
275 | .fa-volume-off:before {
276 | content: "\f026";
277 | }
278 | .fa-volume-down:before {
279 | content: "\f027";
280 | }
281 | .fa-volume-up:before {
282 | content: "\f028";
283 | }
284 | .fa-qrcode:before {
285 | content: "\f029";
286 | }
287 | .fa-barcode:before {
288 | content: "\f02a";
289 | }
290 | .fa-tag:before {
291 | content: "\f02b";
292 | }
293 | .fa-tags:before {
294 | content: "\f02c";
295 | }
296 | .fa-book:before {
297 | content: "\f02d";
298 | }
299 | .fa-bookmark:before {
300 | content: "\f02e";
301 | }
302 | .fa-print:before {
303 | content: "\f02f";
304 | }
305 | .fa-camera:before {
306 | content: "\f030";
307 | }
308 | .fa-font:before {
309 | content: "\f031";
310 | }
311 | .fa-bold:before {
312 | content: "\f032";
313 | }
314 | .fa-italic:before {
315 | content: "\f033";
316 | }
317 | .fa-text-height:before {
318 | content: "\f034";
319 | }
320 | .fa-text-width:before {
321 | content: "\f035";
322 | }
323 | .fa-align-left:before {
324 | content: "\f036";
325 | }
326 | .fa-align-center:before {
327 | content: "\f037";
328 | }
329 | .fa-align-right:before {
330 | content: "\f038";
331 | }
332 | .fa-align-justify:before {
333 | content: "\f039";
334 | }
335 | .fa-list:before {
336 | content: "\f03a";
337 | }
338 | .fa-dedent:before,
339 | .fa-outdent:before {
340 | content: "\f03b";
341 | }
342 | .fa-indent:before {
343 | content: "\f03c";
344 | }
345 | .fa-video-camera:before {
346 | content: "\f03d";
347 | }
348 | .fa-photo:before,
349 | .fa-image:before,
350 | .fa-picture-o:before {
351 | content: "\f03e";
352 | }
353 | .fa-pencil:before {
354 | content: "\f040";
355 | }
356 | .fa-map-marker:before {
357 | content: "\f041";
358 | }
359 | .fa-adjust:before {
360 | content: "\f042";
361 | }
362 | .fa-tint:before {
363 | content: "\f043";
364 | }
365 | .fa-edit:before,
366 | .fa-pencil-square-o:before {
367 | content: "\f044";
368 | }
369 | .fa-share-square-o:before {
370 | content: "\f045";
371 | }
372 | .fa-check-square-o:before {
373 | content: "\f046";
374 | }
375 | .fa-arrows:before {
376 | content: "\f047";
377 | }
378 | .fa-step-backward:before {
379 | content: "\f048";
380 | }
381 | .fa-fast-backward:before {
382 | content: "\f049";
383 | }
384 | .fa-backward:before {
385 | content: "\f04a";
386 | }
387 | .fa-play:before {
388 | content: "\f04b";
389 | }
390 | .fa-pause:before {
391 | content: "\f04c";
392 | }
393 | .fa-stop:before {
394 | content: "\f04d";
395 | }
396 | .fa-forward:before {
397 | content: "\f04e";
398 | }
399 | .fa-fast-forward:before {
400 | content: "\f050";
401 | }
402 | .fa-step-forward:before {
403 | content: "\f051";
404 | }
405 | .fa-eject:before {
406 | content: "\f052";
407 | }
408 | .fa-chevron-left:before {
409 | content: "\f053";
410 | }
411 | .fa-chevron-right:before {
412 | content: "\f054";
413 | }
414 | .fa-plus-circle:before {
415 | content: "\f055";
416 | }
417 | .fa-minus-circle:before {
418 | content: "\f056";
419 | }
420 | .fa-times-circle:before {
421 | content: "\f057";
422 | }
423 | .fa-check-circle:before {
424 | content: "\f058";
425 | }
426 | .fa-question-circle:before {
427 | content: "\f059";
428 | }
429 | .fa-info-circle:before {
430 | content: "\f05a";
431 | }
432 | .fa-crosshairs:before {
433 | content: "\f05b";
434 | }
435 | .fa-times-circle-o:before {
436 | content: "\f05c";
437 | }
438 | .fa-check-circle-o:before {
439 | content: "\f05d";
440 | }
441 | .fa-ban:before {
442 | content: "\f05e";
443 | }
444 | .fa-arrow-left:before {
445 | content: "\f060";
446 | }
447 | .fa-arrow-right:before {
448 | content: "\f061";
449 | }
450 | .fa-arrow-up:before {
451 | content: "\f062";
452 | }
453 | .fa-arrow-down:before {
454 | content: "\f063";
455 | }
456 | .fa-mail-forward:before,
457 | .fa-share:before {
458 | content: "\f064";
459 | }
460 | .fa-expand:before {
461 | content: "\f065";
462 | }
463 | .fa-compress:before {
464 | content: "\f066";
465 | }
466 | .fa-plus:before {
467 | content: "\f067";
468 | }
469 | .fa-minus:before {
470 | content: "\f068";
471 | }
472 | .fa-asterisk:before {
473 | content: "\f069";
474 | }
475 | .fa-exclamation-circle:before {
476 | content: "\f06a";
477 | }
478 | .fa-gift:before {
479 | content: "\f06b";
480 | }
481 | .fa-leaf:before {
482 | content: "\f06c";
483 | }
484 | .fa-fire:before {
485 | content: "\f06d";
486 | }
487 | .fa-eye:before {
488 | content: "\f06e";
489 | }
490 | .fa-eye-slash:before {
491 | content: "\f070";
492 | }
493 | .fa-warning:before,
494 | .fa-exclamation-triangle:before {
495 | content: "\f071";
496 | }
497 | .fa-plane:before {
498 | content: "\f072";
499 | }
500 | .fa-calendar:before {
501 | content: "\f073";
502 | }
503 | .fa-random:before {
504 | content: "\f074";
505 | }
506 | .fa-comment:before {
507 | content: "\f075";
508 | }
509 | .fa-magnet:before {
510 | content: "\f076";
511 | }
512 | .fa-chevron-up:before {
513 | content: "\f077";
514 | }
515 | .fa-chevron-down:before {
516 | content: "\f078";
517 | }
518 | .fa-retweet:before {
519 | content: "\f079";
520 | }
521 | .fa-shopping-cart:before {
522 | content: "\f07a";
523 | }
524 | .fa-folder:before {
525 | content: "\f07b";
526 | }
527 | .fa-folder-open:before {
528 | content: "\f07c";
529 | }
530 | .fa-arrows-v:before {
531 | content: "\f07d";
532 | }
533 | .fa-arrows-h:before {
534 | content: "\f07e";
535 | }
536 | .fa-bar-chart-o:before,
537 | .fa-bar-chart:before {
538 | content: "\f080";
539 | }
540 | .fa-twitter-square:before {
541 | content: "\f081";
542 | }
543 | .fa-facebook-square:before {
544 | content: "\f082";
545 | }
546 | .fa-camera-retro:before {
547 | content: "\f083";
548 | }
549 | .fa-key:before {
550 | content: "\f084";
551 | }
552 | .fa-gears:before,
553 | .fa-cogs:before {
554 | content: "\f085";
555 | }
556 | .fa-comments:before {
557 | content: "\f086";
558 | }
559 | .fa-thumbs-o-up:before {
560 | content: "\f087";
561 | }
562 | .fa-thumbs-o-down:before {
563 | content: "\f088";
564 | }
565 | .fa-star-half:before {
566 | content: "\f089";
567 | }
568 | .fa-heart-o:before {
569 | content: "\f08a";
570 | }
571 | .fa-sign-out:before {
572 | content: "\f08b";
573 | }
574 | .fa-linkedin-square:before {
575 | content: "\f08c";
576 | }
577 | .fa-thumb-tack:before {
578 | content: "\f08d";
579 | }
580 | .fa-external-link:before {
581 | content: "\f08e";
582 | }
583 | .fa-sign-in:before {
584 | content: "\f090";
585 | }
586 | .fa-trophy:before {
587 | content: "\f091";
588 | }
589 | .fa-github-square:before {
590 | content: "\f092";
591 | }
592 | .fa-upload:before {
593 | content: "\f093";
594 | }
595 | .fa-lemon-o:before {
596 | content: "\f094";
597 | }
598 | .fa-phone:before {
599 | content: "\f095";
600 | }
601 | .fa-square-o:before {
602 | content: "\f096";
603 | }
604 | .fa-bookmark-o:before {
605 | content: "\f097";
606 | }
607 | .fa-phone-square:before {
608 | content: "\f098";
609 | }
610 | .fa-twitter:before {
611 | content: "\f099";
612 | }
613 | .fa-facebook:before {
614 | content: "\f09a";
615 | }
616 | .fa-github:before {
617 | content: "\f09b";
618 | }
619 | .fa-unlock:before {
620 | content: "\f09c";
621 | }
622 | .fa-credit-card:before {
623 | content: "\f09d";
624 | }
625 | .fa-rss:before {
626 | content: "\f09e";
627 | }
628 | .fa-hdd-o:before {
629 | content: "\f0a0";
630 | }
631 | .fa-bullhorn:before {
632 | content: "\f0a1";
633 | }
634 | .fa-bell:before {
635 | content: "\f0f3";
636 | }
637 | .fa-certificate:before {
638 | content: "\f0a3";
639 | }
640 | .fa-hand-o-right:before {
641 | content: "\f0a4";
642 | }
643 | .fa-hand-o-left:before {
644 | content: "\f0a5";
645 | }
646 | .fa-hand-o-up:before {
647 | content: "\f0a6";
648 | }
649 | .fa-hand-o-down:before {
650 | content: "\f0a7";
651 | }
652 | .fa-arrow-circle-left:before {
653 | content: "\f0a8";
654 | }
655 | .fa-arrow-circle-right:before {
656 | content: "\f0a9";
657 | }
658 | .fa-arrow-circle-up:before {
659 | content: "\f0aa";
660 | }
661 | .fa-arrow-circle-down:before {
662 | content: "\f0ab";
663 | }
664 | .fa-globe:before {
665 | content: "\f0ac";
666 | }
667 | .fa-wrench:before {
668 | content: "\f0ad";
669 | }
670 | .fa-tasks:before {
671 | content: "\f0ae";
672 | }
673 | .fa-filter:before {
674 | content: "\f0b0";
675 | }
676 | .fa-briefcase:before {
677 | content: "\f0b1";
678 | }
679 | .fa-arrows-alt:before {
680 | content: "\f0b2";
681 | }
682 | .fa-group:before,
683 | .fa-users:before {
684 | content: "\f0c0";
685 | }
686 | .fa-chain:before,
687 | .fa-link:before {
688 | content: "\f0c1";
689 | }
690 | .fa-cloud:before {
691 | content: "\f0c2";
692 | }
693 | .fa-flask:before {
694 | content: "\f0c3";
695 | }
696 | .fa-cut:before,
697 | .fa-scissors:before {
698 | content: "\f0c4";
699 | }
700 | .fa-copy:before,
701 | .fa-files-o:before {
702 | content: "\f0c5";
703 | }
704 | .fa-paperclip:before {
705 | content: "\f0c6";
706 | }
707 | .fa-save:before,
708 | .fa-floppy-o:before {
709 | content: "\f0c7";
710 | }
711 | .fa-square:before {
712 | content: "\f0c8";
713 | }
714 | .fa-navicon:before,
715 | .fa-reorder:before,
716 | .fa-bars:before {
717 | content: "\f0c9";
718 | }
719 | .fa-list-ul:before {
720 | content: "\f0ca";
721 | }
722 | .fa-list-ol:before {
723 | content: "\f0cb";
724 | }
725 | .fa-strikethrough:before {
726 | content: "\f0cc";
727 | }
728 | .fa-underline:before {
729 | content: "\f0cd";
730 | }
731 | .fa-table:before {
732 | content: "\f0ce";
733 | }
734 | .fa-magic:before {
735 | content: "\f0d0";
736 | }
737 | .fa-truck:before {
738 | content: "\f0d1";
739 | }
740 | .fa-pinterest:before {
741 | content: "\f0d2";
742 | }
743 | .fa-pinterest-square:before {
744 | content: "\f0d3";
745 | }
746 | .fa-google-plus-square:before {
747 | content: "\f0d4";
748 | }
749 | .fa-google-plus:before {
750 | content: "\f0d5";
751 | }
752 | .fa-money:before {
753 | content: "\f0d6";
754 | }
755 | .fa-caret-down:before {
756 | content: "\f0d7";
757 | }
758 | .fa-caret-up:before {
759 | content: "\f0d8";
760 | }
761 | .fa-caret-left:before {
762 | content: "\f0d9";
763 | }
764 | .fa-caret-right:before {
765 | content: "\f0da";
766 | }
767 | .fa-columns:before {
768 | content: "\f0db";
769 | }
770 | .fa-unsorted:before,
771 | .fa-sort:before {
772 | content: "\f0dc";
773 | }
774 | .fa-sort-down:before,
775 | .fa-sort-desc:before {
776 | content: "\f0dd";
777 | }
778 | .fa-sort-up:before,
779 | .fa-sort-asc:before {
780 | content: "\f0de";
781 | }
782 | .fa-envelope:before {
783 | content: "\f0e0";
784 | }
785 | .fa-linkedin:before {
786 | content: "\f0e1";
787 | }
788 | .fa-rotate-left:before,
789 | .fa-undo:before {
790 | content: "\f0e2";
791 | }
792 | .fa-legal:before,
793 | .fa-gavel:before {
794 | content: "\f0e3";
795 | }
796 | .fa-dashboard:before,
797 | .fa-tachometer:before {
798 | content: "\f0e4";
799 | }
800 | .fa-comment-o:before {
801 | content: "\f0e5";
802 | }
803 | .fa-comments-o:before {
804 | content: "\f0e6";
805 | }
806 | .fa-flash:before,
807 | .fa-bolt:before {
808 | content: "\f0e7";
809 | }
810 | .fa-sitemap:before {
811 | content: "\f0e8";
812 | }
813 | .fa-umbrella:before {
814 | content: "\f0e9";
815 | }
816 | .fa-paste:before,
817 | .fa-clipboard:before {
818 | content: "\f0ea";
819 | }
820 | .fa-lightbulb-o:before {
821 | content: "\f0eb";
822 | }
823 | .fa-exchange:before {
824 | content: "\f0ec";
825 | }
826 | .fa-cloud-download:before {
827 | content: "\f0ed";
828 | }
829 | .fa-cloud-upload:before {
830 | content: "\f0ee";
831 | }
832 | .fa-user-md:before {
833 | content: "\f0f0";
834 | }
835 | .fa-stethoscope:before {
836 | content: "\f0f1";
837 | }
838 | .fa-suitcase:before {
839 | content: "\f0f2";
840 | }
841 | .fa-bell-o:before {
842 | content: "\f0a2";
843 | }
844 | .fa-coffee:before {
845 | content: "\f0f4";
846 | }
847 | .fa-cutlery:before {
848 | content: "\f0f5";
849 | }
850 | .fa-file-text-o:before {
851 | content: "\f0f6";
852 | }
853 | .fa-building-o:before {
854 | content: "\f0f7";
855 | }
856 | .fa-hospital-o:before {
857 | content: "\f0f8";
858 | }
859 | .fa-ambulance:before {
860 | content: "\f0f9";
861 | }
862 | .fa-medkit:before {
863 | content: "\f0fa";
864 | }
865 | .fa-fighter-jet:before {
866 | content: "\f0fb";
867 | }
868 | .fa-beer:before {
869 | content: "\f0fc";
870 | }
871 | .fa-h-square:before {
872 | content: "\f0fd";
873 | }
874 | .fa-plus-square:before {
875 | content: "\f0fe";
876 | }
877 | .fa-angle-double-left:before {
878 | content: "\f100";
879 | }
880 | .fa-angle-double-right:before {
881 | content: "\f101";
882 | }
883 | .fa-angle-double-up:before {
884 | content: "\f102";
885 | }
886 | .fa-angle-double-down:before {
887 | content: "\f103";
888 | }
889 | .fa-angle-left:before {
890 | content: "\f104";
891 | }
892 | .fa-angle-right:before {
893 | content: "\f105";
894 | }
895 | .fa-angle-up:before {
896 | content: "\f106";
897 | }
898 | .fa-angle-down:before {
899 | content: "\f107";
900 | }
901 | .fa-desktop:before {
902 | content: "\f108";
903 | }
904 | .fa-laptop:before {
905 | content: "\f109";
906 | }
907 | .fa-tablet:before {
908 | content: "\f10a";
909 | }
910 | .fa-mobile-phone:before,
911 | .fa-mobile:before {
912 | content: "\f10b";
913 | }
914 | .fa-circle-o:before {
915 | content: "\f10c";
916 | }
917 | .fa-quote-left:before {
918 | content: "\f10d";
919 | }
920 | .fa-quote-right:before {
921 | content: "\f10e";
922 | }
923 | .fa-spinner:before {
924 | content: "\f110";
925 | }
926 | .fa-circle:before {
927 | content: "\f111";
928 | }
929 | .fa-mail-reply:before,
930 | .fa-reply:before {
931 | content: "\f112";
932 | }
933 | .fa-github-alt:before {
934 | content: "\f113";
935 | }
936 | .fa-folder-o:before {
937 | content: "\f114";
938 | }
939 | .fa-folder-open-o:before {
940 | content: "\f115";
941 | }
942 | .fa-smile-o:before {
943 | content: "\f118";
944 | }
945 | .fa-frown-o:before {
946 | content: "\f119";
947 | }
948 | .fa-meh-o:before {
949 | content: "\f11a";
950 | }
951 | .fa-gamepad:before {
952 | content: "\f11b";
953 | }
954 | .fa-keyboard-o:before {
955 | content: "\f11c";
956 | }
957 | .fa-flag-o:before {
958 | content: "\f11d";
959 | }
960 | .fa-flag-checkered:before {
961 | content: "\f11e";
962 | }
963 | .fa-terminal:before {
964 | content: "\f120";
965 | }
966 | .fa-code:before {
967 | content: "\f121";
968 | }
969 | .fa-mail-reply-all:before,
970 | .fa-reply-all:before {
971 | content: "\f122";
972 | }
973 | .fa-star-half-empty:before,
974 | .fa-star-half-full:before,
975 | .fa-star-half-o:before {
976 | content: "\f123";
977 | }
978 | .fa-location-arrow:before {
979 | content: "\f124";
980 | }
981 | .fa-crop:before {
982 | content: "\f125";
983 | }
984 | .fa-code-fork:before {
985 | content: "\f126";
986 | }
987 | .fa-unlink:before,
988 | .fa-chain-broken:before {
989 | content: "\f127";
990 | }
991 | .fa-question:before {
992 | content: "\f128";
993 | }
994 | .fa-info:before {
995 | content: "\f129";
996 | }
997 | .fa-exclamation:before {
998 | content: "\f12a";
999 | }
1000 | .fa-superscript:before {
1001 | content: "\f12b";
1002 | }
1003 | .fa-subscript:before {
1004 | content: "\f12c";
1005 | }
1006 | .fa-eraser:before {
1007 | content: "\f12d";
1008 | }
1009 | .fa-puzzle-piece:before {
1010 | content: "\f12e";
1011 | }
1012 | .fa-microphone:before {
1013 | content: "\f130";
1014 | }
1015 | .fa-microphone-slash:before {
1016 | content: "\f131";
1017 | }
1018 | .fa-shield:before {
1019 | content: "\f132";
1020 | }
1021 | .fa-calendar-o:before {
1022 | content: "\f133";
1023 | }
1024 | .fa-fire-extinguisher:before {
1025 | content: "\f134";
1026 | }
1027 | .fa-rocket:before {
1028 | content: "\f135";
1029 | }
1030 | .fa-maxcdn:before {
1031 | content: "\f136";
1032 | }
1033 | .fa-chevron-circle-left:before {
1034 | content: "\f137";
1035 | }
1036 | .fa-chevron-circle-right:before {
1037 | content: "\f138";
1038 | }
1039 | .fa-chevron-circle-up:before {
1040 | content: "\f139";
1041 | }
1042 | .fa-chevron-circle-down:before {
1043 | content: "\f13a";
1044 | }
1045 | .fa-html5:before {
1046 | content: "\f13b";
1047 | }
1048 | .fa-css3:before {
1049 | content: "\f13c";
1050 | }
1051 | .fa-anchor:before {
1052 | content: "\f13d";
1053 | }
1054 | .fa-unlock-alt:before {
1055 | content: "\f13e";
1056 | }
1057 | .fa-bullseye:before {
1058 | content: "\f140";
1059 | }
1060 | .fa-ellipsis-h:before {
1061 | content: "\f141";
1062 | }
1063 | .fa-ellipsis-v:before {
1064 | content: "\f142";
1065 | }
1066 | .fa-rss-square:before {
1067 | content: "\f143";
1068 | }
1069 | .fa-play-circle:before {
1070 | content: "\f144";
1071 | }
1072 | .fa-ticket:before {
1073 | content: "\f145";
1074 | }
1075 | .fa-minus-square:before {
1076 | content: "\f146";
1077 | }
1078 | .fa-minus-square-o:before {
1079 | content: "\f147";
1080 | }
1081 | .fa-level-up:before {
1082 | content: "\f148";
1083 | }
1084 | .fa-level-down:before {
1085 | content: "\f149";
1086 | }
1087 | .fa-check-square:before {
1088 | content: "\f14a";
1089 | }
1090 | .fa-pencil-square:before {
1091 | content: "\f14b";
1092 | }
1093 | .fa-external-link-square:before {
1094 | content: "\f14c";
1095 | }
1096 | .fa-share-square:before {
1097 | content: "\f14d";
1098 | }
1099 | .fa-compass:before {
1100 | content: "\f14e";
1101 | }
1102 | .fa-toggle-down:before,
1103 | .fa-caret-square-o-down:before {
1104 | content: "\f150";
1105 | }
1106 | .fa-toggle-up:before,
1107 | .fa-caret-square-o-up:before {
1108 | content: "\f151";
1109 | }
1110 | .fa-toggle-right:before,
1111 | .fa-caret-square-o-right:before {
1112 | content: "\f152";
1113 | }
1114 | .fa-euro:before,
1115 | .fa-eur:before {
1116 | content: "\f153";
1117 | }
1118 | .fa-gbp:before {
1119 | content: "\f154";
1120 | }
1121 | .fa-dollar:before,
1122 | .fa-usd:before {
1123 | content: "\f155";
1124 | }
1125 | .fa-rupee:before,
1126 | .fa-inr:before {
1127 | content: "\f156";
1128 | }
1129 | .fa-cny:before,
1130 | .fa-rmb:before,
1131 | .fa-yen:before,
1132 | .fa-jpy:before {
1133 | content: "\f157";
1134 | }
1135 | .fa-ruble:before,
1136 | .fa-rouble:before,
1137 | .fa-rub:before {
1138 | content: "\f158";
1139 | }
1140 | .fa-won:before,
1141 | .fa-krw:before {
1142 | content: "\f159";
1143 | }
1144 | .fa-bitcoin:before,
1145 | .fa-btc:before {
1146 | content: "\f15a";
1147 | }
1148 | .fa-file:before {
1149 | content: "\f15b";
1150 | }
1151 | .fa-file-text:before {
1152 | content: "\f15c";
1153 | }
1154 | .fa-sort-alpha-asc:before {
1155 | content: "\f15d";
1156 | }
1157 | .fa-sort-alpha-desc:before {
1158 | content: "\f15e";
1159 | }
1160 | .fa-sort-amount-asc:before {
1161 | content: "\f160";
1162 | }
1163 | .fa-sort-amount-desc:before {
1164 | content: "\f161";
1165 | }
1166 | .fa-sort-numeric-asc:before {
1167 | content: "\f162";
1168 | }
1169 | .fa-sort-numeric-desc:before {
1170 | content: "\f163";
1171 | }
1172 | .fa-thumbs-up:before {
1173 | content: "\f164";
1174 | }
1175 | .fa-thumbs-down:before {
1176 | content: "\f165";
1177 | }
1178 | .fa-youtube-square:before {
1179 | content: "\f166";
1180 | }
1181 | .fa-youtube:before {
1182 | content: "\f167";
1183 | }
1184 | .fa-xing:before {
1185 | content: "\f168";
1186 | }
1187 | .fa-xing-square:before {
1188 | content: "\f169";
1189 | }
1190 | .fa-youtube-play:before {
1191 | content: "\f16a";
1192 | }
1193 | .fa-dropbox:before {
1194 | content: "\f16b";
1195 | }
1196 | .fa-stack-overflow:before {
1197 | content: "\f16c";
1198 | }
1199 | .fa-instagram:before {
1200 | content: "\f16d";
1201 | }
1202 | .fa-flickr:before {
1203 | content: "\f16e";
1204 | }
1205 | .fa-adn:before {
1206 | content: "\f170";
1207 | }
1208 | .fa-bitbucket:before {
1209 | content: "\f171";
1210 | }
1211 | .fa-bitbucket-square:before {
1212 | content: "\f172";
1213 | }
1214 | .fa-tumblr:before {
1215 | content: "\f173";
1216 | }
1217 | .fa-tumblr-square:before {
1218 | content: "\f174";
1219 | }
1220 | .fa-long-arrow-down:before {
1221 | content: "\f175";
1222 | }
1223 | .fa-long-arrow-up:before {
1224 | content: "\f176";
1225 | }
1226 | .fa-long-arrow-left:before {
1227 | content: "\f177";
1228 | }
1229 | .fa-long-arrow-right:before {
1230 | content: "\f178";
1231 | }
1232 | .fa-apple:before {
1233 | content: "\f179";
1234 | }
1235 | .fa-windows:before {
1236 | content: "\f17a";
1237 | }
1238 | .fa-android:before {
1239 | content: "\f17b";
1240 | }
1241 | .fa-linux:before {
1242 | content: "\f17c";
1243 | }
1244 | .fa-dribbble:before {
1245 | content: "\f17d";
1246 | }
1247 | .fa-skype:before {
1248 | content: "\f17e";
1249 | }
1250 | .fa-foursquare:before {
1251 | content: "\f180";
1252 | }
1253 | .fa-trello:before {
1254 | content: "\f181";
1255 | }
1256 | .fa-female:before {
1257 | content: "\f182";
1258 | }
1259 | .fa-male:before {
1260 | content: "\f183";
1261 | }
1262 | .fa-gittip:before {
1263 | content: "\f184";
1264 | }
1265 | .fa-sun-o:before {
1266 | content: "\f185";
1267 | }
1268 | .fa-moon-o:before {
1269 | content: "\f186";
1270 | }
1271 | .fa-archive:before {
1272 | content: "\f187";
1273 | }
1274 | .fa-bug:before {
1275 | content: "\f188";
1276 | }
1277 | .fa-vk:before {
1278 | content: "\f189";
1279 | }
1280 | .fa-weibo:before {
1281 | content: "\f18a";
1282 | }
1283 | .fa-renren:before {
1284 | content: "\f18b";
1285 | }
1286 | .fa-pagelines:before {
1287 | content: "\f18c";
1288 | }
1289 | .fa-stack-exchange:before {
1290 | content: "\f18d";
1291 | }
1292 | .fa-arrow-circle-o-right:before {
1293 | content: "\f18e";
1294 | }
1295 | .fa-arrow-circle-o-left:before {
1296 | content: "\f190";
1297 | }
1298 | .fa-toggle-left:before,
1299 | .fa-caret-square-o-left:before {
1300 | content: "\f191";
1301 | }
1302 | .fa-dot-circle-o:before {
1303 | content: "\f192";
1304 | }
1305 | .fa-wheelchair:before {
1306 | content: "\f193";
1307 | }
1308 | .fa-vimeo-square:before {
1309 | content: "\f194";
1310 | }
1311 | .fa-turkish-lira:before,
1312 | .fa-try:before {
1313 | content: "\f195";
1314 | }
1315 | .fa-plus-square-o:before {
1316 | content: "\f196";
1317 | }
1318 | .fa-space-shuttle:before {
1319 | content: "\f197";
1320 | }
1321 | .fa-slack:before {
1322 | content: "\f198";
1323 | }
1324 | .fa-envelope-square:before {
1325 | content: "\f199";
1326 | }
1327 | .fa-wordpress:before {
1328 | content: "\f19a";
1329 | }
1330 | .fa-openid:before {
1331 | content: "\f19b";
1332 | }
1333 | .fa-institution:before,
1334 | .fa-bank:before,
1335 | .fa-university:before {
1336 | content: "\f19c";
1337 | }
1338 | .fa-mortar-board:before,
1339 | .fa-graduation-cap:before {
1340 | content: "\f19d";
1341 | }
1342 | .fa-yahoo:before {
1343 | content: "\f19e";
1344 | }
1345 | .fa-google:before {
1346 | content: "\f1a0";
1347 | }
1348 | .fa-reddit:before {
1349 | content: "\f1a1";
1350 | }
1351 | .fa-reddit-square:before {
1352 | content: "\f1a2";
1353 | }
1354 | .fa-stumbleupon-circle:before {
1355 | content: "\f1a3";
1356 | }
1357 | .fa-stumbleupon:before {
1358 | content: "\f1a4";
1359 | }
1360 | .fa-delicious:before {
1361 | content: "\f1a5";
1362 | }
1363 | .fa-digg:before {
1364 | content: "\f1a6";
1365 | }
1366 | .fa-pied-piper:before {
1367 | content: "\f1a7";
1368 | }
1369 | .fa-pied-piper-alt:before {
1370 | content: "\f1a8";
1371 | }
1372 | .fa-drupal:before {
1373 | content: "\f1a9";
1374 | }
1375 | .fa-joomla:before {
1376 | content: "\f1aa";
1377 | }
1378 | .fa-language:before {
1379 | content: "\f1ab";
1380 | }
1381 | .fa-fax:before {
1382 | content: "\f1ac";
1383 | }
1384 | .fa-building:before {
1385 | content: "\f1ad";
1386 | }
1387 | .fa-child:before {
1388 | content: "\f1ae";
1389 | }
1390 | .fa-paw:before {
1391 | content: "\f1b0";
1392 | }
1393 | .fa-spoon:before {
1394 | content: "\f1b1";
1395 | }
1396 | .fa-cube:before {
1397 | content: "\f1b2";
1398 | }
1399 | .fa-cubes:before {
1400 | content: "\f1b3";
1401 | }
1402 | .fa-behance:before {
1403 | content: "\f1b4";
1404 | }
1405 | .fa-behance-square:before {
1406 | content: "\f1b5";
1407 | }
1408 | .fa-steam:before {
1409 | content: "\f1b6";
1410 | }
1411 | .fa-steam-square:before {
1412 | content: "\f1b7";
1413 | }
1414 | .fa-recycle:before {
1415 | content: "\f1b8";
1416 | }
1417 | .fa-automobile:before,
1418 | .fa-car:before {
1419 | content: "\f1b9";
1420 | }
1421 | .fa-cab:before,
1422 | .fa-taxi:before {
1423 | content: "\f1ba";
1424 | }
1425 | .fa-tree:before {
1426 | content: "\f1bb";
1427 | }
1428 | .fa-spotify:before {
1429 | content: "\f1bc";
1430 | }
1431 | .fa-deviantart:before {
1432 | content: "\f1bd";
1433 | }
1434 | .fa-soundcloud:before {
1435 | content: "\f1be";
1436 | }
1437 | .fa-database:before {
1438 | content: "\f1c0";
1439 | }
1440 | .fa-file-pdf-o:before {
1441 | content: "\f1c1";
1442 | }
1443 | .fa-file-word-o:before {
1444 | content: "\f1c2";
1445 | }
1446 | .fa-file-excel-o:before {
1447 | content: "\f1c3";
1448 | }
1449 | .fa-file-powerpoint-o:before {
1450 | content: "\f1c4";
1451 | }
1452 | .fa-file-photo-o:before,
1453 | .fa-file-picture-o:before,
1454 | .fa-file-image-o:before {
1455 | content: "\f1c5";
1456 | }
1457 | .fa-file-zip-o:before,
1458 | .fa-file-archive-o:before {
1459 | content: "\f1c6";
1460 | }
1461 | .fa-file-sound-o:before,
1462 | .fa-file-audio-o:before {
1463 | content: "\f1c7";
1464 | }
1465 | .fa-file-movie-o:before,
1466 | .fa-file-video-o:before {
1467 | content: "\f1c8";
1468 | }
1469 | .fa-file-code-o:before {
1470 | content: "\f1c9";
1471 | }
1472 | .fa-vine:before {
1473 | content: "\f1ca";
1474 | }
1475 | .fa-codepen:before {
1476 | content: "\f1cb";
1477 | }
1478 | .fa-jsfiddle:before {
1479 | content: "\f1cc";
1480 | }
1481 | .fa-life-bouy:before,
1482 | .fa-life-buoy:before,
1483 | .fa-life-saver:before,
1484 | .fa-support:before,
1485 | .fa-life-ring:before {
1486 | content: "\f1cd";
1487 | }
1488 | .fa-circle-o-notch:before {
1489 | content: "\f1ce";
1490 | }
1491 | .fa-ra:before,
1492 | .fa-rebel:before {
1493 | content: "\f1d0";
1494 | }
1495 | .fa-ge:before,
1496 | .fa-empire:before {
1497 | content: "\f1d1";
1498 | }
1499 | .fa-git-square:before {
1500 | content: "\f1d2";
1501 | }
1502 | .fa-git:before {
1503 | content: "\f1d3";
1504 | }
1505 | .fa-hacker-news:before {
1506 | content: "\f1d4";
1507 | }
1508 | .fa-tencent-weibo:before {
1509 | content: "\f1d5";
1510 | }
1511 | .fa-qq:before {
1512 | content: "\f1d6";
1513 | }
1514 | .fa-wechat:before,
1515 | .fa-weixin:before {
1516 | content: "\f1d7";
1517 | }
1518 | .fa-send:before,
1519 | .fa-paper-plane:before {
1520 | content: "\f1d8";
1521 | }
1522 | .fa-send-o:before,
1523 | .fa-paper-plane-o:before {
1524 | content: "\f1d9";
1525 | }
1526 | .fa-history:before {
1527 | content: "\f1da";
1528 | }
1529 | .fa-circle-thin:before {
1530 | content: "\f1db";
1531 | }
1532 | .fa-header:before {
1533 | content: "\f1dc";
1534 | }
1535 | .fa-paragraph:before {
1536 | content: "\f1dd";
1537 | }
1538 | .fa-sliders:before {
1539 | content: "\f1de";
1540 | }
1541 | .fa-share-alt:before {
1542 | content: "\f1e0";
1543 | }
1544 | .fa-share-alt-square:before {
1545 | content: "\f1e1";
1546 | }
1547 | .fa-bomb:before {
1548 | content: "\f1e2";
1549 | }
1550 | .fa-soccer-ball-o:before,
1551 | .fa-futbol-o:before {
1552 | content: "\f1e3";
1553 | }
1554 | .fa-tty:before {
1555 | content: "\f1e4";
1556 | }
1557 | .fa-binoculars:before {
1558 | content: "\f1e5";
1559 | }
1560 | .fa-plug:before {
1561 | content: "\f1e6";
1562 | }
1563 | .fa-slideshare:before {
1564 | content: "\f1e7";
1565 | }
1566 | .fa-twitch:before {
1567 | content: "\f1e8";
1568 | }
1569 | .fa-yelp:before {
1570 | content: "\f1e9";
1571 | }
1572 | .fa-newspaper-o:before {
1573 | content: "\f1ea";
1574 | }
1575 | .fa-wifi:before {
1576 | content: "\f1eb";
1577 | }
1578 | .fa-calculator:before {
1579 | content: "\f1ec";
1580 | }
1581 | .fa-paypal:before {
1582 | content: "\f1ed";
1583 | }
1584 | .fa-google-wallet:before {
1585 | content: "\f1ee";
1586 | }
1587 | .fa-cc-visa:before {
1588 | content: "\f1f0";
1589 | }
1590 | .fa-cc-mastercard:before {
1591 | content: "\f1f1";
1592 | }
1593 | .fa-cc-discover:before {
1594 | content: "\f1f2";
1595 | }
1596 | .fa-cc-amex:before {
1597 | content: "\f1f3";
1598 | }
1599 | .fa-cc-paypal:before {
1600 | content: "\f1f4";
1601 | }
1602 | .fa-cc-stripe:before {
1603 | content: "\f1f5";
1604 | }
1605 | .fa-bell-slash:before {
1606 | content: "\f1f6";
1607 | }
1608 | .fa-bell-slash-o:before {
1609 | content: "\f1f7";
1610 | }
1611 | .fa-trash:before {
1612 | content: "\f1f8";
1613 | }
1614 | .fa-copyright:before {
1615 | content: "\f1f9";
1616 | }
1617 | .fa-at:before {
1618 | content: "\f1fa";
1619 | }
1620 | .fa-eyedropper:before {
1621 | content: "\f1fb";
1622 | }
1623 | .fa-paint-brush:before {
1624 | content: "\f1fc";
1625 | }
1626 | .fa-birthday-cake:before {
1627 | content: "\f1fd";
1628 | }
1629 | .fa-area-chart:before {
1630 | content: "\f1fe";
1631 | }
1632 | .fa-pie-chart:before {
1633 | content: "\f200";
1634 | }
1635 | .fa-line-chart:before {
1636 | content: "\f201";
1637 | }
1638 | .fa-lastfm:before {
1639 | content: "\f202";
1640 | }
1641 | .fa-lastfm-square:before {
1642 | content: "\f203";
1643 | }
1644 | .fa-toggle-off:before {
1645 | content: "\f204";
1646 | }
1647 | .fa-toggle-on:before {
1648 | content: "\f205";
1649 | }
1650 | .fa-bicycle:before {
1651 | content: "\f206";
1652 | }
1653 | .fa-bus:before {
1654 | content: "\f207";
1655 | }
1656 | .fa-ioxhost:before {
1657 | content: "\f208";
1658 | }
1659 | .fa-angellist:before {
1660 | content: "\f209";
1661 | }
1662 | .fa-cc:before {
1663 | content: "\f20a";
1664 | }
1665 | .fa-shekel:before,
1666 | .fa-sheqel:before,
1667 | .fa-ils:before {
1668 | content: "\f20b";
1669 | }
1670 | .fa-meanpath:before {
1671 | content: "\f20c";
1672 | }
1673 |
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Welcome to Angular Autocomplete Tag Input
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/public/js/app.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Sandeep on 16/10/14.
3 | */
4 | angular.module('com.htmlxprs.autocomplete',['com.htmlxprs.autocomplete.directives','com.htmlxprs.autocomplete.controllers']);
--------------------------------------------------------------------------------
/public/js/controllers.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Sandeep on 16/10/14.
3 | */
4 | angular.module('com.htmlxprs.autocomplete.controllers',[]).controller('TagController',['$scope',function($scope){
5 | $scope.$watchCollection('data.tags',function(val){
6 | console.log(val);
7 | });
8 | }]);
--------------------------------------------------------------------------------
/public/js/directives.js:
--------------------------------------------------------------------------------
1 | angular.module('com.htmlxprs.autocomplete.directives',[]).directive('autoComplete',['$http',function($http){
2 | return {
3 | restrict:'AE',
4 | scope:{
5 | selectedTags:'=model'
6 | },
7 | templateUrl:'/views/autocomplete-template.html',
8 | link:function(scope,elem,attrs){
9 |
10 | scope.suggestions=[];
11 |
12 | scope.selectedTags=[];
13 |
14 | scope.selectedIndex=-1;
15 |
16 | scope.removeTag=function(index){
17 | scope.selectedTags.splice(index,1);
18 | }
19 |
20 | scope.search=function(){
21 | $http.get(attrs.url+'?term='+scope.searchText).success(function(data){
22 | if(data.indexOf(scope.searchText)===-1){
23 | data.unshift(scope.searchText);
24 | }
25 | scope.suggestions=data;
26 | scope.selectedIndex=-1;
27 | });
28 | }
29 |
30 | scope.addToSelectedTags=function(index){
31 | if(scope.selectedTags.indexOf(scope.suggestions[index])===-1){
32 | scope.selectedTags.push(scope.suggestions[index]);
33 | scope.searchText='';
34 | scope.suggestions=[];
35 | }
36 | }
37 |
38 | scope.checkKeyDown=function(event){
39 | if(event.keyCode===40){
40 | event.preventDefault();
41 | if(scope.selectedIndex+1 !== scope.suggestions.length){
42 | scope.selectedIndex++;
43 | }
44 | }
45 | else if(event.keyCode===38){
46 | event.preventDefault();
47 | if(scope.selectedIndex-1 !== -1){
48 | scope.selectedIndex--;
49 | }
50 | }
51 | else if(event.keyCode===13){
52 | scope.addToSelectedTags(scope.selectedIndex);
53 | }
54 | }
55 |
56 | scope.$watch('selectedIndex',function(val){
57 | if(val!==-1) {
58 | scope.searchText = scope.suggestions[scope.selectedIndex];
59 | }
60 | });
61 | }
62 | }
63 | }]);
--------------------------------------------------------------------------------
/public/lib/angular/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular",
3 | "version": "1.3.0",
4 | "main": "./angular.js",
5 | "dependencies": {},
6 | "homepage": "https://github.com/angular/bower-angular",
7 | "_release": "1.3.0",
8 | "_resolution": {
9 | "type": "version",
10 | "tag": "v1.3.0",
11 | "commit": "992364cfc43aaa7755d5359c783aba0a2d1a5f4a"
12 | },
13 | "_source": "git://github.com/angular/bower-angular.git",
14 | "_target": "~1.3.0",
15 | "_originalSource": "angular",
16 | "_direct": true
17 | }
--------------------------------------------------------------------------------
/public/lib/angular/README.md:
--------------------------------------------------------------------------------
1 | # bower-angular
2 |
3 | This repo is for distribution on `bower`. The source for this module is in the
4 | [main AngularJS repo](https://github.com/angular/angular.js).
5 | Please file issues and pull requests against that repo.
6 |
7 | ## Install
8 |
9 | Install with `bower`:
10 |
11 | ```shell
12 | bower install angular
13 | ```
14 |
15 | Add a `
19 | ```
20 |
21 | ## Documentation
22 |
23 | Documentation is available on the
24 | [AngularJS docs site](http://docs.angularjs.org/).
25 |
26 | ## License
27 |
28 | The MIT License
29 |
30 | Copyright (c) 2010-2012 Google, Inc. http://angularjs.org
31 |
32 | Permission is hereby granted, free of charge, to any person obtaining a copy
33 | of this software and associated documentation files (the "Software"), to deal
34 | in the Software without restriction, including without limitation the rights
35 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
36 | copies of the Software, and to permit persons to whom the Software is
37 | furnished to do so, subject to the following conditions:
38 |
39 | The above copyright notice and this permission notice shall be included in
40 | all copies or substantial portions of the Software.
41 |
42 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
43 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
44 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
45 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
46 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
47 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
48 | THE SOFTWARE.
49 |
--------------------------------------------------------------------------------
/public/lib/angular/angular-csp.css:
--------------------------------------------------------------------------------
1 | /* Include this file in your html if you are using the CSP mode. */
2 |
3 | @charset "UTF-8";
4 |
5 | [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],
6 | .ng-cloak, .x-ng-cloak,
7 | .ng-hide:not(.ng-hide-animate) {
8 | display: none !important;
9 | }
10 |
11 | ng\:form {
12 | display: block;
13 | }
14 |
--------------------------------------------------------------------------------
/public/lib/angular/angular.min.js:
--------------------------------------------------------------------------------
1 | /*
2 | AngularJS v1.3.0
3 | (c) 2010-2014 Google, Inc. http://angularjs.org
4 | License: MIT
5 | */
6 | (function(S,X,u){'use strict';function y(b){return function(){var a=arguments[0],c;c="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.3.0/"+(b?b+"/":"")+a;for(a=1;a").append(b).html();try{return b[0].nodeType===kb?N(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+
15 | N(b)})}catch(d){return N(c)}}function pc(b){try{return decodeURIComponent(b)}catch(a){}}function qc(b){var a={},c,d;r((b||"").split("&"),function(b){b&&(c=b.replace(/\+/g,"%20").split("="),d=pc(c[0]),z(d)&&(b=z(c[1])?pc(c[1]):!0,Hb.call(a,d)?B(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function Ib(b){var a=[];r(b,function(b,d){B(b)?r(b,function(b){a.push(Da(d,!0)+(!0===b?"":"="+Da(b,!0)))}):a.push(Da(d,!0)+(!0===b?"":"="+Da(b,!0)))});return a.length?a.join("&"):""}function lb(b){return Da(b,
16 | !0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Da(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,a?"%20":"+")}function Dd(b,a){var c,d,e=mb.length;b=D(b);for(d=0;d/,">"));}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);c.debugInfoEnabled&&a.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]);a.unshift("ng");
18 | d=Jb(a,c.strictDi);d.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return d},e=/^NG_ENABLE_DEBUG_INFO!/,f=/^NG_DEFER_BOOTSTRAP!/;S&&e.test(S.name)&&(c.debugInfoEnabled=!0,S.name=S.name.replace(e,""));if(S&&!f.test(S.name))return d();S.name=S.name.replace(f,"");ta.resumeBootstrap=function(b){r(b,function(b){a.push(b)});d()}}function Fd(){S.name="NG_ENABLE_DEBUG_INFO!"+S.name;S.location.reload()}function Gd(b){return ta.element(b).injector().get("$$testability")}
19 | function Kb(b,a){a=a||"_";return b.replace(Hd,function(b,d){return(d?a:"")+b.toLowerCase()})}function Id(){var b;sc||((ma=S.jQuery)&&ma.fn.on?(D=ma,E(ma.fn,{scope:Ja.scope,isolateScope:Ja.isolateScope,controller:Ja.controller,injector:Ja.injector,inheritedData:Ja.inheritedData}),b=ma.cleanData,ma.cleanData=function(a){var c;if(Lb)Lb=!1;else for(var d=0,e;null!=(e=a[d]);d++)(c=ma._data(e,"events"))&&c.$destroy&&ma(e).triggerHandler("$destroy");b(a)}):D=R,ta.element=D,sc=!0)}function Mb(b,a,c){if(!b)throw Xa("areq",
20 | a||"?",c||"required");return b}function nb(b,a,c){c&&B(b)&&(b=b[b.length-1]);Mb(F(b),a,"not a function, got "+(b&&"object"===typeof b?b.constructor.name||"Object":typeof b));return b}function Ka(b,a){if("hasOwnProperty"===b)throw Xa("badname",a);}function tc(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,g=0;g$2>")+d[2];for(d=d[0];d--;)c=c.lastChild;f=jb(f,c.childNodes);c=e.firstChild;c.textContent=""}else f.push(a.createTextNode(b));e.textContent="";e.innerHTML="";r(f,function(a){e.appendChild(a)});
27 | return e}function R(b){if(b instanceof R)return b;var a;I(b)&&(b=U(b),a=!0);if(!(this instanceof R)){if(a&&"<"!=b.charAt(0))throw Ob("nosel");return new R(b)}if(a){a=X;var c;b=(c=af.exec(b))?[a.createElement(c[1])]:(c=Dc(b,a))?c.childNodes:[]}Ec(this,b)}function Pb(b){return b.cloneNode(!0)}function rb(b,a){a||sb(b);if(b.querySelectorAll)for(var c=b.querySelectorAll("*"),d=0,e=c.length;d 4096 bytes)!"));else{if(q.cookie!==Ma)for(Ma=q.cookie,d=Ma.split("; "),ca={},f=0;fl&&this.remove(p.key),b},get:function(a){if(l").parent()[0])});var f=Q(a,b,a,c,d,e);H.$$addScopeClass(a);
50 | var g=null;return function(b,c,d,e,h){Mb(b,"scope");g||(g=(h=h&&h[0])?"foreignobject"!==pa(h)&&h.toString().match(/SVG/)?"svg":"html":"html");h="html"!==g?D(S(g,D("").append(a).html())):c?Ja.clone.call(a):a;if(d)for(var k in d)h.data("$"+k+"Controller",d[k].instance);H.$$addScopeInfo(h,b);c&&c(h,b);f&&f(b,h,h,e);return h}}function Q(a,b,c,d,e,f){function g(a,c,d,e){var f,k,l,p,n,t,s;if(q)for(s=Array(c.length),p=0;p
L.priority)break;if(y=L.scope)L.templateUrl||(G(y)?(xa("new/isolated scope",Q||P,L,Y),Q=L):xa("new/isolated scope",
60 | Q,L,Y)),P=P||L;ga=L.name;!L.templateUrl&&L.controller&&(y=L.controller,aa=aa||{},xa("'"+ga+"' controller",aa[ga],L,Y),aa[ga]=L);if(y=L.transclude)Na=!0,L.$$tlb||(xa("transclusion",fa,L,Y),fa=L),"element"==y?(E=!0,C=L.priority,y=Y,Y=e.$$element=D(X.createComment(" "+ga+": "+e[ga]+" ")),d=Y[0],yb(g,Ya.call(y,0),d),Ga=H(y,f,C,h&&h.name,{nonTlbTranscludeDirective:fa})):(y=D(Pb(d)).contents(),Y.empty(),Ga=H(y,f));if(L.template)if(A=!0,xa("template",ca,L,Y),ca=L,y=F(L.template)?L.template(Y,e):L.template,
61 | y=Oc(y),L.replace){h=L;y=Nb.test(y)?Pc(S(L.templateNamespace,U(y))):[];d=y[0];if(1!=y.length||d.nodeType!==ka)throw ia("tplrt",ga,"");yb(g,Y,d);ya={$attr:{}};y=O(d,[],ya);var ba=a.splice(R+1,a.length-(R+1));Q&&Ma(y);a=a.concat(y).concat(ba);z(e,ya);ya=a.length}else Y.html(y);if(L.templateUrl)A=!0,xa("template",ca,L,Y),ca=L,L.replace&&(h=L),M=w(a.splice(R,a.length-R),Y,e,g,Na&&Ga,l,q,{controllerDirectives:aa,newIsolateScopeDirective:Q,templateDirective:ca,nonTlbTranscludeDirective:fa}),ya=a.length;
62 | else if(L.compile)try{N=L.compile(Y,e,Ga),F(N)?s(null,N,W,Vb):N&&s(N.pre,N.post,W,Vb)}catch(kf){c(kf,sa(Y))}L.terminal&&(M.terminal=!0,C=Math.max(C,L.priority))}M.scope=P&&!0===P.scope;M.transcludeOnThisElement=Na;M.elementTranscludeOnThisElement=E;M.templateOnThisElement=A;M.transclude=Ga;t.hasElementTranscludeDirective=E;return M}function Ma(a){for(var b=0,c=a.length;bp.priority)&&-1!=p.restrict.indexOf(f)&&(k&&(p=lc(p,{$$start:k,$$end:l})),b.push(p),h=p)}catch(v){c(v)}}return h}function z(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;r(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});r(b,function(b,f){"class"==f?(P(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+
64 | ";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function w(a,b,c,d,e,f,g,h){var k=[],l,p,n=b[0],t=a.shift(),q=E({},t,{templateUrl:null,transclude:null,replace:null,$$originalDirective:t}),v=F(t.templateUrl)?t.templateUrl(b,c):t.templateUrl,J=t.templateNamespace;b.empty();s(T.getTrustedResourceUrl(v)).then(function(s){var C,T;s=Oc(s);if(t.replace){s=Nb.test(s)?Pc(S(J,U(s))):[];C=s[0];if(1!=s.length||C.nodeType!==ka)throw ia("tplrt",t.name,v);s={$attr:{}};yb(d,b,C);var M=O(C,
65 | [],s);G(t.scope)&&Ma(M);a=M.concat(a);z(c,s)}else C=n,b.html(s);a.unshift(q);l=ca(a,C,c,e,b,t,f,g,h);r(d,function(a,c){a==C&&(d[c]=b[0])});for(p=Q(b[0].childNodes,e);k.length;){s=k.shift();T=k.shift();var H=k.shift(),K=k.shift(),M=b[0];if(!s.$$destroyed){if(T!==n){var x=T.className;h.hasElementTranscludeDirective&&t.replace||(M=Pb(C));yb(H,D(T),M);P(D(M),x)}T=l.transcludeOnThisElement?aa(s,l.transclude,K):K;l(p,s,M,d,T)}}k=null});return function(a,b,c,d,e){a=e;b.$$destroyed||(k?(k.push(b),k.push(c),
66 | k.push(d),k.push(a)):(l.transcludeOnThisElement&&(a=aa(b,l.transclude,e)),l(p,b,c,d,a)))}}function y(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name"+b+""+a+">";return c.childNodes[0].childNodes;default:return b}}function Ga(a,b){if("srcdoc"==b)return T.HTML;var c=pa(a);if("xlinkHref"==b||"form"==c&&"action"==b||"img"!=c&&("src"==b||"ngSrc"==b))return T.RESOURCE_URL}function R(a,c,d,e,f){var k=b(d,!0);if(k){if("multiple"===e&&"select"===pa(a))throw ia("selmulti",sa(a));c.push({priority:100,compile:function(){return{pre:function(c,
68 | d,l){d=l.$$observers||(l.$$observers={});if(h.test(e))throw ia("nodomevents");l[e]&&(k=b(l[e],!0,Ga(a,e),g[e]||f))&&(l[e]=k(c),(d[e]||(d[e]=[])).$$inter=!0,(l.$$observers&&l.$$observers[e].$$scope||c).$watch(k,function(a,b){"class"===e&&a!=b?l.$updateClass(a,b):l.$set(e,a)}))}}}})}}function yb(a,b,c){var d=b[0],e=b.length,f=d.parentNode,g,h;if(a)for(g=0,h=a.length;g=a)return b;for(;a--;)8===
74 | b[a].nodeType&&mf.call(b,a,1);return b}function Ae(){var b={},a=!1,c=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(a,c){Ka(a,"controller");G(a)?E(b,a):b[a]=c};this.allowGlobals=function(){a=!0};this.$get=["$injector","$window",function(d,e){function f(a,b,c,d){if(!a||!G(a.$scope))throw y("$controller")("noscp",d,b);a.$scope[b]=c}return function(g,k,h,l){var m,q,p;h=!0===h;l&&I(l)&&(p=l);I(g)&&(l=g.match(c),q=l[1],p=p||l[3],g=b.hasOwnProperty(q)?b[q]:tc(k.$scope,q,!0)||(a?tc(e,q,!0):u),nb(g,q,!0));
75 | if(h)return h=function(){},h.prototype=(B(g)?g[g.length-1]:g).prototype,m=new h,p&&f(k,p,m,q||g.name),E(function(){d.invoke(g,m,k,q);return m},{instance:m,identifier:p});m=d.instantiate(g,k,q);p&&f(k,p,m,q||g.name);return m}}]}function Be(){this.$get=["$window",function(b){return D(b.document)}]}function Ce(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function Rc(b){var a={},c,d,e;if(!b)return a;r(b.split("\n"),function(b){e=b.indexOf(":");c=N(U(b.substr(0,e)));
76 | d=U(b.substr(e+1));c&&(a[c]=a[c]?a[c]+", "+d:d)});return a}function Sc(b){var a=G(b)?b:u;return function(c){a||(a=Rc(b));return c?a[N(c)]||null:a}}function Tc(b,a,c){if(F(c))return c(b,a);r(c,function(c){b=c(b,a)});return b}function Fe(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,d={"Content-Type":"application/json;charset=utf-8"},e=this.defaults={transformResponse:[function(d,e){if(I(d)){d=d.replace(c,"");var f=e("Content-Type");if(f&&0===f.indexOf("application/json")||b.test(d)&&a.test(d))d=
77 | oc(d)}return d}],transformRequest:[function(a){return G(a)&&"[object File]"!==Ia.call(a)&&"[object Blob]"!==Ia.call(a)?ra(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:qa(d),put:qa(d),patch:qa(d)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},f=!1;this.useApplyAsync=function(a){return z(a)?(f=!!a,this):f};var g=this.interceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,c,d,q,p){function n(a){function b(a){var d=
78 | E({},a);d.data=a.data?Tc(a.data,a.headers,c.transformResponse):a.data;a=a.status;return 200<=a&&300>a?d:q.reject(d)}var c={method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse},d=function(a){var b=e.headers,c=E({},a.headers),d,f,b=E({},b.common,b[N(a.method)]);a:for(d in b){a=N(d);for(f in c)if(N(f)===a)continue a;c[d]=b[d]}(function(a){var b;r(a,function(c,d){F(c)&&(b=c(),null!=b?a[d]=b:delete a[d])})})(c);return c}(a);E(c,a);c.headers=d;c.method=pb(c.method);var f=
79 | [function(a){d=a.headers;var c=Tc(a.data,Sc(d),a.transformRequest);w(c)&&r(d,function(a,b){"content-type"===N(b)&&delete d[b]});w(a.withCredentials)&&!w(e.withCredentials)&&(a.withCredentials=e.withCredentials);return s(a,c,d).then(b,b)},u],g=q.when(c);for(r(x,function(a){(a.request||a.requestError)&&f.unshift(a.request,a.requestError);(a.response||a.responseError)&&f.push(a.response,a.responseError)});f.length;){a=f.shift();var h=f.shift(),g=g.then(a,h)}g.success=function(a){g.then(function(b){a(b.data,
80 | b.status,b.headers,c)});return g};g.error=function(a){g.then(null,function(b){a(b.data,b.status,b.headers,c)});return g};return g}function s(c,g,l){function p(a,b,c,e){function g(){s(b,a,c,e)}O&&(200<=a&&300>a?O.put(V,[a,b,Rc(c),e]):O.remove(V));f?d.$applyAsync(g):(g(),d.$$phase||d.$apply())}function s(a,b,d,e){b=Math.max(b,0);(200<=b&&300>b?x.resolve:x.reject)({data:a,status:b,headers:Sc(d),config:c,statusText:e})}function H(){var a=n.pendingRequests.indexOf(c);-1!==a&&n.pendingRequests.splice(a,
81 | 1)}var x=q.defer(),r=x.promise,O,K,V=J(c.url,c.params);n.pendingRequests.push(c);r.then(H,H);!c.cache&&!e.cache||!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method||(O=G(c.cache)?c.cache:G(e.cache)?e.cache:v);if(O)if(K=O.get(V),z(K)){if(K&&F(K.then))return K.then(H,H),K;B(K)?s(K[1],K[0],qa(K[2]),K[3]):s(K,200,{},"OK")}else O.put(V,r);w(K)&&((K=Uc(c.url)?b.cookies()[c.xsrfCookieName||e.xsrfCookieName]:u)&&(l[c.xsrfHeaderName||e.xsrfHeaderName]=K),a(c.method,V,g,p,l,c.timeout,c.withCredentials,c.responseType));
82 | return r}function J(a,b){if(!b)return a;var c=[];zd(b,function(a,b){null===a||w(a)||(B(a)||(a=[a]),r(a,function(a){G(a)&&(a=ea(a)?a.toISOString():ra(a));c.push(Da(b)+"="+Da(a))}))});0=h&&(s.resolve(p),q(J.$$intervalId),delete f[J.$$intervalId]);n||b.$apply()},k);f[J.$$intervalId]=s;return J}var f={};e.cancel=function(b){return b&&b.$$intervalId in f?(f[b.$$intervalId].reject("canceled"),a.clearInterval(b.$$intervalId),delete f[b.$$intervalId],!0):
90 | !1};return e}]}function Md(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January February March April May June July August September October November December".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
91 | DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a",short:"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return 1===b?"one":"other"}}}}function Zb(b){b=b.split("/");for(var a=b.length;a--;)b[a]=lb(b[a]);return b.join("/")}function Vc(b,a,c){b=za(b,c);a.$$protocol=
92 | b.protocol;a.$$host=b.hostname;a.$$port=ba(b.port)||pf[b.protocol]||null}function Wc(b,a,c){var d="/"!==b.charAt(0);d&&(b="/"+b);b=za(b,c);a.$$path=decodeURIComponent(d&&"/"===b.pathname.charAt(0)?b.pathname.substring(1):b.pathname);a.$$search=qc(b.search);a.$$hash=decodeURIComponent(b.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function va(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Fa(b){var a=b.indexOf("#");return-1==a?b:b.substr(0,a)}function $b(b){return b.substr(0,
93 | Fa(b).lastIndexOf("/")+1)}function ac(b,a){this.$$html5=!0;a=a||"";var c=$b(b);Vc(b,this,b);this.$$parse=function(a){var e=va(c,a);if(!I(e))throw cb("ipthprfx",a,c);Wc(e,this,b);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var a=Ib(this.$$search),b=this.$$hash?"#"+lb(this.$$hash):"";this.$$url=Zb(this.$$path)+(a?"?"+a:"")+b;this.$$absUrl=c+this.$$url.substr(1)};this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;(f=va(b,d))!==u?
94 | (g=f,g=(f=va(a,f))!==u?c+(va("/",f)||f):b+g):(f=va(c,d))!==u?g=c+f:c==d+"/"&&(g=c);g&&this.$$parse(g);return!!g}}function bc(b,a){var c=$b(b);Vc(b,this,b);this.$$parse=function(d){var e=va(b,d)||va(c,d),e="#"==e.charAt(0)?va(a,e):this.$$html5?e:"";if(!I(e))throw cb("ihshprfx",d,a);Wc(e,this,b);d=this.$$path;var f=/^\/[A-Z]:(\/.*)/;0===e.indexOf(b)&&(e=e.replace(b,""));f.exec(e)||(d=(e=f.exec(d))?e[1]:d);this.$$path=d;this.$$compose()};this.$$compose=function(){var c=Ib(this.$$search),e=this.$$hash?
95 | "#"+lb(this.$$hash):"";this.$$url=Zb(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+(this.$$url?a+this.$$url:"")};this.$$parseLinkUrl=function(a,c){return Fa(b)==Fa(a)?(this.$$parse(a),!0):!1}}function Xc(b,a){this.$$html5=!0;bc.apply(this,arguments);var c=$b(b);this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;b==Fa(d)?f=d:(g=va(c,d))?f=b+a+g:c===d+"/"&&(f=c);f&&this.$$parse(f);return!!f};this.$$compose=function(){var c=Ib(this.$$search),e=this.$$hash?"#"+lb(this.$$hash):
96 | "";this.$$url=Zb(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+a+this.$$url}}function zb(b){return function(){return this[b]}}function Yc(b,a){return function(c){if(w(c))return this[b];this[b]=a(c);this.$$compose();return this}}function He(){var b="",a={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(a){return z(a)?(b=a,this):b};this.html5Mode=function(b){return Va(b)?(a.enabled=b,this):G(b)?(Va(b.enabled)&&(a.enabled=b.enabled),Va(b.requireBase)&&(a.requireBase=b.requireBase),Va(b.rewriteLinks)&&
97 | (a.rewriteLinks=b.rewriteLinks),this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(c,d,e,f){function g(a,b,c){var e=h.url(),f=h.$$state;try{d.url(a,b,c),h.$$state=d.state()}catch(g){throw h.url(e),h.$$state=f,g;}}function k(a,b){c.$broadcast("$locationChangeSuccess",h.absUrl(),a,h.$$state,b)}var h,l;l=d.baseHref();var m=d.url(),q;if(a.enabled){if(!l&&a.requireBase)throw cb("nobase");q=m.substring(0,m.indexOf("/",m.indexOf("//")+2))+(l||"/");l=e.history?ac:Xc}else q=Fa(m),
98 | l=bc;h=new l(q,"#"+b);h.$$parseLinkUrl(m,m);h.$$state=d.state();var p=/^\s*(javascript|mailto):/i;f.on("click",function(b){if(a.rewriteLinks&&!b.ctrlKey&&!b.metaKey&&2!=b.which){for(var e=D(b.target);"a"!==pa(e[0]);)if(e[0]===f[0]||!(e=e.parent())[0])return;var g=e.prop("href"),k=e.attr("href")||e.attr("xlink:href");G(g)&&"[object SVGAnimatedString]"===g.toString()&&(g=za(g.animVal).href);p.test(g)||!g||e.attr("target")||b.isDefaultPrevented()||!h.$$parseLinkUrl(g,k)||(b.preventDefault(),h.absUrl()!=
99 | d.url()&&(c.$apply(),S.angular["ff-684208-preventDefault"]=!0))}});h.absUrl()!=m&&d.url(h.absUrl(),!0);var n=!0;d.onUrlChange(function(a,b){c.$evalAsync(function(){var d=h.absUrl(),e=h.$$state;h.$$parse(a);h.$$state=b;c.$broadcast("$locationChangeStart",a,d,b,e).defaultPrevented?(h.$$parse(d),h.$$state=e,g(d,!1,e)):(n=!1,k(d,e))});c.$$phase||c.$digest()});c.$watch(function(){var a=d.url(),b=d.state(),f=h.$$replace,l=a!==h.absUrl()||h.$$html5&&e.history&&b!==h.$$state;if(n||l)n=!1,c.$evalAsync(function(){c.$broadcast("$locationChangeStart",
100 | h.absUrl(),a,h.$$state,b).defaultPrevented?(h.$$parse(a),h.$$state=b):(l&&g(h.absUrl(),f,b===h.$$state?null:h.$$state),k(a,b))});h.$$replace=!1});return h}]}function Ie(){var b=!0,a=this;this.debugEnabled=function(a){return z(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=c.console||
101 | {},e=b[a]||b.log||A;a=!1;try{a=!!e.apply}catch(h){}return a?function(){var a=[];r(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function na(b,a){if("__defineGetter__"===b||"__defineSetter__"===b||"__lookupGetter__"===b||"__lookupSetter__"===b||"__proto__"===b)throw oa("isecfld",a);return b}function Aa(b,a){if(b){if(b.constructor===
102 | b)throw oa("isecfn",a);if(b.window===b)throw oa("isecwindow",a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw oa("isecdom",a);if(b===Object)throw oa("isecobj",a);}return b}function cc(b){return b.constant}function Oa(b,a,c,d){Aa(b,d);a=a.split(".");for(var e,f=0;1f?Zc(e[0],e[1],e[2],e[3],e[4],c):function(a,b){var d=0,g;do g=Zc(e[d++],e[d++],e[d++],e[d++],e[d++],c)(a,b),b=u,a=g;while(d=this.promise.$$state.status&&
112 | d&&d.length&&b(function(){for(var b,e,f=0,g=d.length;fa)for(b in l++,f)e.hasOwnProperty(b)||(s--,delete f[b])}else f!==e&&(f=e,l++);return l}c.$stateful=!0;var d=this,e,f,h,k=1Q&&(K=4-Q,O[K]||(O[K]=
121 | []),u=F(e.exp)?"fn: "+(e.exp.name||e.exp.toString()):e.exp,u+="; newVal: "+ra(g)+"; oldVal: "+ra(h),O[K].push(u));else if(e===c){r=!1;break a}}catch(D){f(D)}if(!(m=x.$$childHead||x!==this&&x.$$nextSibling))for(;x!==this&&!(m=x.$$nextSibling);)x=x.$parent}while(x=m);if((r||J.length)&&!Q--)throw s.$$phase=null,a("infdig",b,ra(O));}while(r||J.length);for(s.$$phase=null;v.length;)try{v.shift()()}catch(A){f(A)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=
122 | !0;if(this!==s){for(var b in this.$$listenerCount)m(this,this.$$listenerCount[b],b);a.$$childHead==this&&(a.$$childHead=this.$$nextSibling);a.$$childTail==this&&(a.$$childTail=this.$$prevSibling);this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling);this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=A;this.$on=this.$watch=this.$watchGroup=function(){return A};this.$$listeners={};this.$parent=
123 | this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}}},$eval:function(a,b){return g(a)(this,b)},$evalAsync:function(a){s.$$phase||J.length||k.defer(function(){J.length&&s.$digest()});J.push({scope:this,expression:a})},$$postDigest:function(a){v.push(a)},$apply:function(a){try{return l("$apply"),this.$eval(a)}catch(b){f(b)}finally{s.$$phase=null;try{s.$digest()}catch(c){throw f(c),c;}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&
124 | x.push(b);n()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){c[c.indexOf(b)]=null;m(e,1,a)}},$emit:function(a,b){var c=[],d,e=this,g=!1,h={name:a,targetScope:e,stopPropagation:function(){g=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},k=jb([h],arguments,1),l,m;do{d=e.$$listeners[a]||c;h.currentScope=e;
125 | l=0;for(m=d.length;la[0].documentMode)throw Ba("iequirks");var e=qa(ja);e.isEnabled=function(){return b};e.trustAs=d.trustAs;e.getTrusted=d.getTrusted;e.valueOf=d.valueOf;b||(e.trustAs=e.getTrusted=function(a,b){return b},e.valueOf=Ta);e.parseAs=function(a,b){var d=c(b);return d.literal&&d.constant?d:c(b,function(b){return e.getTrusted(a,b)})};var f=e.parseAs,g=e.getTrusted,k=e.trustAs;r(ja,function(a,b){var c=N(b);e[ab("parse_as_"+c)]=function(b){return f(a,b)};e[ab("get_trusted_"+c)]=function(b){return g(a,
132 | b)};e[ab("trust_as_"+c)]=function(b){return k(a,b)}});return e}]}function Pe(){this.$get=["$window","$document",function(b,a){var c={},d=ba((/android (\d+)/.exec(N((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),f=a[0]||{},g,k=/^(Moz|webkit|O|ms)(?=[A-Z])/,h=f.body&&f.body.style,l=!1,m=!1;if(h){for(var q in h)if(l=k.exec(q)){g=l[0];g=g.substr(0,1).toUpperCase()+g.substr(1);break}g||(g="WebkitOpacity"in h&&"webkit");l=!!("transition"in h||g+"Transition"in h);m=!!("animation"in
133 | h||g+"Animation"in h);!d||l&&m||(l=I(f.body.style.webkitTransition),m=I(f.body.style.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hasEvent:function(a){if("input"==a&&9==Pa)return!1;if(w(c[a])){var b=f.createElement("div");c[a]="on"+a in b}return c[a]},csp:Za(),vendorPrefix:g,transitions:l,animations:m,android:d}}]}function Re(){this.$get=["$templateCache","$http","$q",function(b,a,c){function d(e,f){function g(){k.totalPendingRequests--;if(!f)throw ia("tpload",e);return c.reject()}
134 | var k=d;k.totalPendingRequests++;return a.get(e,{cache:b}).then(function(a){a=a.data;if(!a||0===a.length)return g();k.totalPendingRequests--;b.put(e,a);return a},g)}d.totalPendingRequests=0;return d}]}function Se(){this.$get=["$rootScope","$browser","$location",function(b,a,c){return{findBindings:function(a,b,c){a=a.getElementsByClassName("ng-binding");var g=[];r(a,function(a){var d=ta.element(a).data("$binding");d&&r(d,function(d){c?(new RegExp("(^|\\s)"+b+"(\\s|\\||$)")).test(d)&&g.push(a):-1!=
135 | d.indexOf(b)&&g.push(a)})});return g},findModels:function(a,b,c){for(var g=["ng-","data-ng-","ng\\:"],k=0;kb;b=Math.abs(b);var g=b+"",k="",h=[],l=!1;if(-1!==g.indexOf("e")){var m=g.match(/([\d\.]+)e(-?)(\d+)/);m&&"-"==m[2]&&m[3]>e+1?(g="0",b=0):(k=g,l=!0)}if(l)0b&&(k=b.toFixed(e));else{g=(g.split(jd)[1]||"").length;w(e)&&(e=Math.min(Math.max(a.minFrac,g),a.maxFrac));b=+(Math.round(+(b.toString()+"e"+e)).toString()+"e"+-e);0===b&&(f=!1);b=(""+b).split(jd);g=b[0];
142 | b=b[1]||"";var m=0,q=a.lgSize,p=a.gSize;if(g.length>=q+p)for(m=g.length-q,l=0;lb&&(d="-",b=-b);for(b=""+b;b.length-c)e+=c;0===e&&-12==c&&(e=12);return Ab(e,a,d)}}function Bb(b,a){return function(c,d){var e=c["get"+b](),f=pb(a?"SHORT"+b:b);return d[f][e]}}function kd(b){var a=(new Date(b,0,1)).getDay();return new Date(b,0,(4>=a?5:12)-a)}function ld(b){return function(a){var c=kd(a.getFullYear());a=+new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))-+c;a=1+Math.round(a/6048E5);return Ab(a,b)}}function fd(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var f=0,g=0,k=b[8]?
144 | a.setUTCFullYear:a.setFullYear,h=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=ba(b[9]+b[10]),g=ba(b[9]+b[11]));k.call(a,ba(b[1]),ba(b[2])-1,ba(b[3]));f=ba(b[4]||0)-f;g=ba(b[5]||0)-g;k=ba(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));h.call(a,f,g,k,b)}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e,f){var g="",k=[],h,l;e=e||"mediumDate";e=b.DATETIME_FORMATS[e]||e;I(c)&&(c=wf.test(c)?ba(c):a(c));W(c)&&(c=new Date(c));
145 | if(!ea(c))return c;for(;e;)(l=xf.exec(e))?(k=jb(k,l,1),e=k.pop()):(k.push(e),e=null);f&&"UTC"===f&&(c=new Date(c.getTime()),c.setMinutes(c.getMinutes()+c.getTimezoneOffset()));r(k,function(a){h=yf[a];g+=h?h(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function sf(){return function(b){return ra(b,!0)}}function tf(){return function(b,a){W(b)&&(b=b.toString());if(!B(b)&&!I(b))return b;a=Infinity===Math.abs(Number(a))?Number(a):ba(a);if(I(b))return a?0<=a?b.slice(0,a):
146 | b.slice(a,b.length):"";var c=[],d,e;a>b.length?a=b.length:a<-b.length&&(a=-b.length);0b||37<=b&&40>=b||p(a)});if(e.hasEvent("paste"))a.on("paste cut",p)}a.on("change",m);d.$render=function(){a.val(d.$isEmpty(d.$modelValue)?"":d.$viewValue)}}function Eb(b,a){return function(c,d){var e,f;if(ea(c))return c;if(I(c)){'"'==c.charAt(0)&&'"'==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1));if(zf.test(c))return new Date(c);b.lastIndex=0;if(e=b.exec(c))return e.shift(),f=d?{yyyy:d.getFullYear(),MM:d.getMonth()+1,dd:d.getDate(),HH:d.getHours(),mm:d.getMinutes(),ss:d.getSeconds(),sss:d.getMilliseconds()/
153 | 1E3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},r(e,function(b,c){c=s};g.$observe("min",function(a){s=q(a);k.$validate()})}if(z(g.max)||g.ngMax){var r;k.$validators.max=function(a){return k.$isEmpty(a)||w(r)||c(a)<=r};g.$observe("max",function(a){r=q(a);k.$validate()})}k.$isEmpty=function(a){return!a||a.getTime&&a.getTime()!==
155 | a.getTime()}}}function od(b,a,c,d){(d.$$hasNativeValidators=G(a[0].validity))&&d.$parsers.push(function(b){var c=a.prop("validity")||{};return c.badInput&&!c.typeMismatch?u:b})}function pd(b,a,c,d,e){if(z(d)){b=b(d);if(!b.constant)throw y("ngModel")("constexpr",c,d);return b(a)}return e}function nd(b){function a(a,b){b&&!f[a]?(l.addClass(e,a),f[a]=!0):!b&&f[a]&&(l.removeClass(e,a),f[a]=!1)}function c(b,c){b=b?"-"+Kb(b,"-"):"";a(gb+b,!0===c);a(qd+b,!1===c)}var d=b.ctrl,e=b.$element,f={},g=b.set,k=
156 | b.unset,h=b.parentForm,l=b.$animate;f[qd]=!(f[gb]=e.hasClass(gb));d.$setValidity=function(b,e,f){e===u?(d.$pending||(d.$pending={}),g(d.$pending,b,f)):(d.$pending&&k(d.$pending,b,f),rd(d.$pending)&&(d.$pending=u));Va(e)?e?(k(d.$error,b,f),g(d.$$success,b,f)):(g(d.$error,b,f),k(d.$$success,b,f)):(k(d.$error,b,f),k(d.$$success,b,f));d.$pending?(a(sd,!0),d.$valid=d.$invalid=u,c("",null)):(a(sd,!1),d.$valid=rd(d.$error),d.$invalid=!d.$valid,c("",d.$valid));e=d.$pending&&d.$pending[b]?u:d.$error[b]?!1:
157 | d.$$success[b]?!0:null;c(b,e);h.$setValidity(b,e,d)}}function rd(b){if(b)for(var a in b)return!1;return!0}function fc(b,a){b="ngClass"+b;return["$animate",function(c){function d(a,b){var c=[],d=0;a:for(;d(?:<\/\1>|)$/,
161 | Nb=/<|?\w+;/,Ze=/<([\w:]+)/,$e=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ha={option:[1,'"],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};ha.optgroup=ha.option;ha.tbody=ha.tfoot=ha.colgroup=ha.caption=ha.thead;ha.th=ha.td;var Ja=R.prototype={ready:function(b){function a(){c||(c=
162 | !0,b())}var c=!1;"complete"===X.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),R(S).on("load",a),this.on("DOMContentLoaded",a))},toString:function(){var b=[];r(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return 0<=b?D(this[b]):D(this[this.length+b])},length:0,push:Bf,sort:[].sort,splice:[].splice},wb={};r("multiple selected checked disabled readOnly required open".split(" "),function(b){wb[N(b)]=b});var Kc={};r("input select option textarea button form details".split(" "),
163 | function(b){Kc[b]=!0});var Lc={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};r({data:Qb,removeData:sb},function(b,a){R[a]=b});r({data:Qb,inheritedData:vb,scope:function(b){return D.data(b,"$scope")||vb(b.parentNode||b,["$isolateScope","$scope"])},isolateScope:function(b){return D.data(b,"$isolateScope")||D.data(b,"$isolateScopeNoTemplate")},controller:Gc,injector:function(b){return vb(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Rb,
164 | css:function(b,a,c){a=ab(a);if(z(c))b.style[a]=c;else return b.style[a]},attr:function(b,a,c){var d=N(a);if(wb[d])if(z(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||A).specified?d:u;else if(z(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?u:b},prop:function(b,a,c){if(z(c))b[a]=c;else return b[a]},text:function(){function b(a,b){if(w(b)){var d=a.nodeType;return d===ka||d===kb?a.textContent:""}a.textContent=
165 | b}b.$dv="";return b}(),val:function(b,a){if(w(a)){if(b.multiple&&"select"===pa(b)){var c=[];r(b.options,function(a){a.selected&&c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(w(a))return b.innerHTML;rb(b,!0);b.innerHTML=a},empty:Hc},function(b,a){R.prototype[a]=function(a,d){var e,f,g=this.length;if(b!==Hc&&(2==b.length&&b!==Rb&&b!==Gc?a:d)===u){if(G(a)){for(e=0;e":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"!":function(a,c,d){return!d(a,c)},"=":!0,"|":!0}),Jf={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},dc=function(a){this.options=a};dc.prototype={constructor:dc,lex:function(a){this.text=a;this.index=0;this.ch=u;
181 | for(this.tokens=[];this.index=a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===
183 | a||"\n"===a||"\v"===a||"\u00a0"===a},isIdent:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,c,d){d=d||this.index;c=z(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d;throw oa("lexerr",a,c,this.text);},readNumber:function(){for(var a="",c=this.index;this.index","<=",">="))a=this.binaryFn(a,c.fn,this.relational());return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect("+","-");)a=this.binaryFn(a,c.fn,this.multiplicative());return a},multiplicative:function(){for(var a=
194 | this.unary(),c;c=this.expect("*","/","%");)a=this.binaryFn(a,c.fn,this.unary());return a},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn(db.ZERO,a.fn,this.unary()):(a=this.expect("!"))?this.unaryFn(a.fn,this.unary()):this.primary()},fieldAccess:function(a){var c=this.text,d=this.expect().text,e=$c(d,this.options,c);return E(function(c,d,k){return e(k||a(c,d))},{assign:function(e,g,k){(k=a(e,k))||a.assign(e,k={});return Oa(k,d,g,c)}})},objectIndex:function(a){var c=
195 | this.text,d=this.expression();this.consume("]");return E(function(e,f){var g=a(e,f),k=d(e,f);na(k,c);return g?Aa(g[k],c):u},{assign:function(e,f,g){var k=na(d(e,g),c);(g=Aa(a(e,g),c))||a.assign(e,g={});return g[k]=f}})},functionCall:function(a,c){var d=[];if(")"!==this.peekToken().text){do d.push(this.expression());while(this.expect(","))}this.consume(")");var e=this.text,f=d.length?[]:null;return function(g,k){var h=c?c(g,k):g,l=a(g,k,h)||A;if(f)for(var m=d.length;m--;)f[m]=Aa(d[m](g,k),e);Aa(h,
196 | e);if(l){if(l.constructor===l)throw oa("isecfn",e);if(l===Gf||l===Hf||l===If)throw oa("isecff",e);}h=l.apply?l.apply(h,f):l(f[0],f[1],f[2],f[3],f[4]);return Aa(h,e)}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text){do{if(this.peek("]"))break;var c=this.expression();a.push(c)}while(this.expect(","))}this.consume("]");return E(function(c,e){for(var f=[],g=0,k=a.length;ga.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=
199 | -1*a.getTimezoneOffset();return a=(0<=a?"+":"")+(Ab(Math[0=k};d.$observe("min",function(a){z(a)&&!W(a)&&(a=parseFloat(a,10));k=W(a)&&!isNaN(a)?a:u;e.$validate()})}if(d.max||d.ngMax){var h;e.$validators.max=function(a){return e.$isEmpty(a)||w(h)||a<=h};d.$observe("max",function(a){z(a)&&!W(a)&&(a=parseFloat(a,10));h=W(a)&&!isNaN(a)?a:u;e.$validate()})}},url:function(a,c,d,e,f,g){eb(a,c,d,e,f,g);ec(e);e.$$parserName="url";e.$validators.url=function(a){return e.$isEmpty(a)||
207 | Kf.test(a)}},email:function(a,c,d,e,f,g){eb(a,c,d,e,f,g);ec(e);e.$$parserName="email";e.$validators.email=function(a){return e.$isEmpty(a)||Lf.test(a)}},radio:function(a,c,d,e){w(d.name)&&c.attr("name",++hb);c.on("click",function(a){c[0].checked&&e.$setViewValue(d.value,a&&a.type)});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e,f,g,k,h){var l=pd(h,a,"ngTrueValue",d.ngTrueValue,!0),m=pd(h,a,"ngFalseValue",d.ngFalseValue,!1);c.on("click",
208 | function(a){e.$setViewValue(c[0].checked,a&&a.type)});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return a!==l};e.$formatters.push(function(a){return la(a,l)});e.$parsers.push(function(a){return a?l:m})},hidden:A,button:A,submit:A,reset:A,file:A},vc=["$browser","$sniffer","$filter","$parse",function(a,c,d,e){return{restrict:"E",require:["?ngModel"],link:{pre:function(f,g,k,h){h[0]&&(yd[N(k.type)]||yd.text)(f,g,k,h[0],c,a,d,e)}}}}],gb="ng-valid",qd="ng-invalid",Qa="ng-pristine",
209 | Db="ng-dirty",sd="ng-pending",Of=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(a,c,d,e,f,g,k,h,l,m){this.$modelValue=this.$viewValue=Number.NaN;this.$validators={};this.$asyncValidators={};this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$untouched=!0;this.$touched=!1;this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$error={};this.$$success={};this.$pending=u;this.$name=m(d.name||
210 | "",!1)(a);var q=f(d.ngModel),p=null,n=this,s=function(){var c=q(a);n.$options&&n.$options.getterSetter&&F(c)&&(c=c());return c},J=function(c){var d;n.$options&&n.$options.getterSetter&&F(d=q(a))?d(n.$modelValue):q.assign(a,n.$modelValue)};this.$$setOptions=function(a){n.$options=a;if(!(q.assign||a&&a.getterSetter))throw Fb("nonassign",d.ngModel,sa(e));};this.$render=A;this.$isEmpty=function(a){return w(a)||""===a||null===a||a!==a};var v=e.inheritedData("$formController")||Cb,x=0;nd({ctrl:this,$element:e,
211 | set:function(a,c){a[c]=!0},unset:function(a,c){delete a[c]},parentForm:v,$animate:g});this.$setPristine=function(){n.$dirty=!1;n.$pristine=!0;g.removeClass(e,Db);g.addClass(e,Qa)};this.$setUntouched=function(){n.$touched=!1;n.$untouched=!0;g.setClass(e,"ng-untouched","ng-touched")};this.$setTouched=function(){n.$touched=!0;n.$untouched=!1;g.setClass(e,"ng-touched","ng-untouched")};this.$rollbackViewValue=function(){k.cancel(p);n.$viewValue=n.$$lastCommittedViewValue;n.$render()};this.$validate=function(){W(n.$modelValue)&&
212 | isNaN(n.$modelValue)||this.$$parseAndValidate()};this.$$runValidators=function(a,c,d,e){function f(){var a=!0;r(n.$validators,function(e,f){var g=e(c,d);a=a&&g;h(f,g)});return a?!0:(r(n.$asyncValidators,function(a,c){h(c,null)}),!1)}function g(){var a=[],e=!0;r(n.$asyncValidators,function(f,g){var k=f(c,d);if(!k||!F(k.then))throw Fb("$asyncValidators",k);h(g,u);a.push(k.then(function(){h(g,!0)},function(a){e=!1;h(g,!1)}))});a.length?l.all(a).then(function(){k(e)},A):k(!0)}function h(a,c){m===x&&n.$setValidity(a,
213 | c)}function k(a){m===x&&e(a)}x++;var m=x;(function(a){var c=n.$$parserName||"parse";if(a===u)h(c,null);else if(h(c,a),!a)return r(n.$validators,function(a,c){h(c,null)}),r(n.$asyncValidators,function(a,c){h(c,null)}),!1;return!0})(a)?f()?g():k(!1):k(!1)};this.$commitViewValue=function(){var a=n.$viewValue;k.cancel(p);if(n.$$lastCommittedViewValue!==a||""===a&&n.$$hasNativeValidators)n.$$lastCommittedViewValue=a,n.$pristine&&(n.$dirty=!0,n.$pristine=!1,g.removeClass(e,Qa),g.addClass(e,Db),v.$setDirty()),
214 | this.$$parseAndValidate()};this.$$parseAndValidate=function(){var a=n.$$lastCommittedViewValue,c=a,d=w(c)?u:!0;if(d)for(var e=0;e=f}}}}},re=function(){return{restrict:"A",priority:100,
220 | require:"ngModel",link:function(a,c,d,e){var f=c.attr(d.$attr.ngList)||", ",g="false"!==d.ngTrim,k=g?U(f):f;e.$parsers.push(function(a){if(!w(a)){var c=[];a&&r(a.split(k),function(a){a&&c.push(g?U(a):a)});return c}});e.$formatters.push(function(a){return B(a)?a.join(f):u});e.$isEmpty=function(a){return!a||!a.length}}}},Pf=/^(true|false|\d+)$/,te=function(){return{restrict:"A",priority:100,compile:function(a,c){return Pf.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a,
221 | c,f){a.$watch(f.ngValue,function(a){f.$set("value",a)})}}}},ue=function(){return{restrict:"A",controller:["$scope","$attrs",function(a,c){var d=this;this.$options=a.$eval(c.ngModelOptions);this.$options.updateOn!==u?(this.$options.updateOnDefault=!1,this.$options.updateOn=U(this.$options.updateOn.replace(Nf,function(){d.$options.updateOnDefault=!0;return" "}))):this.$options.updateOnDefault=!0}]}},Ud=["$compile",function(a){return{restrict:"AC",compile:function(c){a.$$addBindingClass(c);return function(c,
222 | e,f){a.$$addBindingInfo(e,f.ngBind);e=e[0];c.$watch(f.ngBind,function(a){e.textContent=a===u?"":a})}}}}],Wd=["$interpolate","$compile",function(a,c){return{compile:function(d){c.$$addBindingClass(d);return function(d,f,g){d=a(f.attr(g.$attr.ngBindTemplate));c.$$addBindingInfo(f,d.expressions);f=f[0];g.$observe("ngBindTemplate",function(a){f.textContent=a===u?"":a})}}}}],Vd=["$sce","$parse","$compile",function(a,c,d){return{restrict:"A",compile:function(e,f){var g=c(f.ngBindHtml),k=c(f.ngBindHtml,
223 | function(a){return(a||"").toString()});d.$$addBindingClass(e);return function(c,e,f){d.$$addBindingInfo(e,f.ngBindHtml);c.$watch(k,function(){e.html(a.getTrustedHtml(g(c))||"")})}}}}],Xd=fc("",!0),Zd=fc("Odd",0),Yd=fc("Even",1),$d=Ha({compile:function(a,c){c.$set("ngCloak",u);a.removeClass("ng-cloak")}}),ae=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Ac={},Qf={blur:!0,focus:!0};r("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),
224 | function(a){var c=ua("ng-"+a);Ac[c]=["$parse","$rootScope",function(d,e){return{restrict:"A",compile:function(f,g){var k=d(g[c]);return function(c,d){d.on(a,function(d){var f=function(){k(c,{$event:d})};Qf[a]&&e.$$phase?c.$evalAsync(f):c.$apply(f)})}}}}]});var de=["$animate",function(a){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var k,h,l;c.$watch(e.ngIf,function(c){c?h||g(function(c,f){h=f;c[c.length++]=X.createComment(" end ngIf: "+
225 | e.ngIf+" ");k={clone:c};a.enter(c,d.parent(),d)}):(l&&(l.remove(),l=null),h&&(h.$destroy(),h=null),k&&(l=ob(k.clone),a.leave(l).then(function(){l=null}),k=null))})}}}],ee=["$templateRequest","$anchorScroll","$animate","$sce",function(a,c,d,e){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:ta.noop,compile:function(f,g){var k=g.ngInclude||g.src,h=g.onload||"",l=g.autoscroll;return function(f,g,p,n,r){var u=0,v,x,t,y=function(){x&&(x.remove(),x=null);v&&(v.$destroy(),
226 | v=null);t&&(d.leave(t).then(function(){x=null}),x=t,t=null)};f.$watch(e.parseAsResourceUrl(k),function(e){var k=function(){!z(l)||l&&!f.$eval(l)||c()},p=++u;e?(a(e,!0).then(function(a){if(p===u){var c=f.$new();n.template=a;a=r(c,function(a){y();d.enter(a,null,g).then(k)});v=c;t=a;v.$emit("$includeContentLoaded",e);f.$eval(h)}},function(){p===u&&(y(),f.$emit("$includeContentError",e))}),f.$emit("$includeContentRequested",e)):(y(),n.template=null)})}}}}],ve=["$compile",function(a){return{restrict:"ECA",
227 | priority:-400,require:"ngInclude",link:function(c,d,e,f){/SVG/.test(d[0].toString())?(d.empty(),a(Dc(f.template,X).childNodes)(c,function(a){d.append(a)},u,u,d)):(d.html(f.template),a(d.contents())(c))}}}],fe=Ha({priority:450,compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),ge=Ha({terminal:!0,priority:1E3}),he=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,f,g){var k=g.count,h=g.$attr.when&&f.attr(g.$attr.when),l=g.offset||0,m=e.$eval(h)||
228 | {},q={},p=c.startSymbol(),n=c.endSymbol(),s=/^when(Minus)?(.+)$/;r(g,function(a,c){s.test(c)&&(m[N(c.replace("when","").replace("Minus","-"))]=f.attr(g.$attr[c]))});r(m,function(a,e){q[e]=c(a.replace(d,p+k+"-"+l+n))});e.$watch(function(){var c=parseFloat(e.$eval(k));if(isNaN(c))return"";c in m||(c=a.pluralCat(c-l));return q[c](e)},function(a){f.text(a)})}}}],ie=["$parse","$animate",function(a,c){var d=y("ngRepeat"),e=function(a,c,d,e,l,m,q){a[d]=e;l&&(a[l]=m);a.$index=c;a.$first=0===c;a.$last=c===
229 | q-1;a.$middle=!(a.$first||a.$last);a.$odd=!(a.$even=0===(c&1))};return{restrict:"A",multiElement:!0,transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,compile:function(f,g){var k=g.ngRepeat,h=X.createComment(" end ngRepeat: "+k+" "),l=k.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!l)throw d("iexp",k);var m=l[1],q=l[2],p=l[3],n=l[4],l=m.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!l)throw d("iidexp",m);var s=l[3]||l[1],J=
230 | l[2];if(p&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(p)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent)$/.test(p)))throw d("badident",p);var v,x,t,y,z={$id:La};n?v=a(n):(t=function(a,c){return La(c)},y=function(a){return a});return function(a,f,g,l,n){v&&(x=function(c,d,e){J&&(z[J]=c);z[s]=d;z.$index=e;return v(a,z)});var m=wa();a.$watchCollection(q,function(g){var l,q,z=f[0],H,v=wa(),C,Q,A,E,w,B,F;p&&(a[p]=g);if(Ra(g))w=g,q=x||t;else{q=x||y;w=[];for(F in g)g.hasOwnProperty(F)&&
231 | "$"!=F.charAt(0)&&w.push(F);w.sort()}C=w.length;F=Array(C);for(l=0;lG;)d=u.pop(),m(N,d.label,!1),d.element.remove();r(N,function(a,c){0a&&p.removeOption(c)})}for(;R.length>I;)R.pop()[0].element.remove()}var v;if(!(v=s.match(d)))throw Rf("iexp",s,sa(f));var C=c(v[2]||v[1]),A=v[4]||v[6],D=/ as /.test(v[0])&&v[1],w=D?c(D):null,F=v[5],M=c(v[3]||""),I=c(v[2]?v[1]:
243 | A),P=c(v[7]),G=v[8]?c(v[8]):null,R=[[{element:f,label:""}]],N={};y&&(a(y)(e),y.removeClass("ng-scope"),y.remove());f.empty();f.on("change",function(){e.$apply(function(){var a=P(e)||[],c;if(n)c=[],r(f.val(),function(d){c.push("?"===d?u:""===d?null:h(w?w:I,d,a[d]))});else{var d=f.val();c="?"===d?u:""===d?null:h(w?w:I,d,a[d])}g.$setViewValue(c);q()})});g.$render=q;e.$watchCollection(P,l);e.$watchCollection(function(){var a=P(e),c;if(a&&B(a)){c=Array(a.length);for(var d=0,f=a.length;d@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}');
247 | //# sourceMappingURL=angular.min.js.map
248 |
--------------------------------------------------------------------------------
/public/lib/angular/angular.min.js.gzip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/htmlxprs/angular-autocomplete-tag-input/27d58920b3f992d0b43f10f2bb67d519d27a8001/public/lib/angular/angular.min.js.gzip
--------------------------------------------------------------------------------
/public/lib/angular/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular",
3 | "version": "1.3.0",
4 | "main": "./angular.js",
5 | "dependencies": {
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/public/lib/angular/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular",
3 | "version": "1.3.0",
4 | "description": "HTML enhanced for web apps",
5 | "main": "angular.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "https://github.com/angular/angular.js.git"
12 | },
13 | "keywords": [
14 | "angular",
15 | "framework",
16 | "browser",
17 | "client-side"
18 | ],
19 | "author": "Angular Core Team ",
20 | "license": "MIT",
21 | "bugs": {
22 | "url": "https://github.com/angular/angular.js/issues"
23 | },
24 | "homepage": "http://angularjs.org"
25 | }
26 |
--------------------------------------------------------------------------------
/public/views/autocomplete-template.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/routes/index.js:
--------------------------------------------------------------------------------
1 | var express = require('express');
2 | var router = express.Router();
3 |
4 | /* GET home page. */
5 | router.get('/', function(req, res) {
6 | res.render('index', { title: 'Express' });
7 | });
8 |
9 | module.exports = router;
10 |
--------------------------------------------------------------------------------
/routes/tags.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Sandeep on 16/10/14.
3 | */
4 | var express = require('express');
5 | var router = express.Router();
6 |
7 | var tags=['java','css','css3','php','nodejs','html','html5','python','ruby','rails','express','angularjs','react']
8 |
9 | /* GET users listing. */
10 | router.get('/search', function(req, res) {
11 | if(req.query.term){
12 | res.json(tags.filter(function(value){
13 | return value.indexOf(req.query.term)!== -1;
14 | }));
15 | }
16 | else{
17 | res.status(200).end();
18 | }
19 | });
20 |
21 | module.exports = router;
22 |
--------------------------------------------------------------------------------
/routes/users.js:
--------------------------------------------------------------------------------
1 | var express = require('express');
2 | var router = express.Router();
3 |
4 | /* GET users listing. */
5 | router.get('/', function(req, res) {
6 | res.send('respond with a resource');
7 | });
8 |
9 | module.exports = router;
10 |
--------------------------------------------------------------------------------
/views/error.ejs:
--------------------------------------------------------------------------------
1 | <%= message %>
2 | <%= error.status %>
3 | <%= error.stack %>
4 |
--------------------------------------------------------------------------------
/views/index.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | <%= title %>
5 |
6 |
7 |
8 | <%= title %>
9 | Welcome to <%= title %>
10 |
11 |
12 |
--------------------------------------------------------------------------------