padrino-admin 0.11.0 → 0.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. data/lib/padrino-admin/bootstrap-less/alerts.less +8 -8
  2. data/lib/padrino-admin/bootstrap-less/badges.less +1 -1
  3. data/lib/padrino-admin/bootstrap-less/bootstrap.less +2 -0
  4. data/lib/padrino-admin/bootstrap-less/breadcrumbs.less +3 -0
  5. data/lib/padrino-admin/bootstrap-less/button-groups.less +1 -1
  6. data/lib/padrino-admin/bootstrap-less/buttons.less +7 -7
  7. data/lib/padrino-admin/bootstrap-less/carousel.less +3 -0
  8. data/lib/padrino-admin/bootstrap-less/dropdowns.less +7 -8
  9. data/lib/padrino-admin/bootstrap-less/forms.less +13 -8
  10. data/lib/padrino-admin/bootstrap-less/grid.less +3 -3
  11. data/lib/padrino-admin/bootstrap-less/jumbotron.less +1 -1
  12. data/lib/padrino-admin/bootstrap-less/labels.less +8 -8
  13. data/lib/padrino-admin/bootstrap-less/list-group.less +96 -0
  14. data/lib/padrino-admin/bootstrap-less/mixins.less +35 -32
  15. data/lib/padrino-admin/bootstrap-less/navbar.less +39 -29
  16. data/lib/padrino-admin/bootstrap-less/navs.less +18 -29
  17. data/lib/padrino-admin/bootstrap-less/pager.less +4 -4
  18. data/lib/padrino-admin/bootstrap-less/pagination.less +3 -3
  19. data/lib/padrino-admin/bootstrap-less/panels.less +86 -0
  20. data/lib/padrino-admin/bootstrap-less/popovers.less +5 -5
  21. data/lib/padrino-admin/bootstrap-less/scaffolding.less +8 -6
  22. data/lib/padrino-admin/bootstrap-less/tables.less +25 -19
  23. data/lib/padrino-admin/bootstrap-less/tooltip.less +1 -1
  24. data/lib/padrino-admin/bootstrap-less/type.less +25 -24
  25. data/lib/padrino-admin/bootstrap-less/utilities.less +1 -1
  26. data/lib/padrino-admin/bootstrap-less/variables.less +114 -78
  27. data/lib/padrino-admin/bootstrap-less/wells.less +2 -2
  28. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap-scrollspy.js +2 -2
  29. data/lib/padrino-admin/generators/templates/assets/javascripts/bootstrap/bootstrap.min.js +1 -1
  30. data/lib/padrino-admin/generators/templates/assets/stylesheets/bootstrap.css +105 -61
  31. data/lib/padrino-admin/generators/templates/erb/app/layouts/application.erb.tt +1 -1
  32. data/lib/padrino-admin/generators/templates/erb/app/sessions/new.erb.tt +1 -1
  33. data/lib/padrino-admin/generators/templates/haml/app/layouts/application.haml.tt +1 -1
  34. data/lib/padrino-admin/generators/templates/haml/app/sessions/new.haml.tt +1 -1
  35. data/lib/padrino-admin/generators/templates/haml/page/_form.haml.tt +1 -1
  36. data/lib/padrino-admin/generators/templates/slim/app/layouts/application.slim.tt +2 -2
  37. data/lib/padrino-admin/generators/templates/slim/app/sessions/new.slim.tt +1 -1
  38. data/lib/padrino-admin/locale/admin/zh_cn.yml +34 -34
  39. data/lib/padrino-admin/locale/orm/zh_cn.yml +20 -20
  40. metadata +26 -11
  41. checksums.yaml +0 -7
@@ -10,7 +10,7 @@
10
10
  padding: 8px 35px 8px 14px;
11
11
  margin-bottom: @line-height-base;
12
12
  color: @state-warning-text;
13
- background-color: @state-warning-background;
13
+ background-color: @state-warning-bg;
14
14
  border: 1px solid @state-warning-border;
15
15
  border-radius: @border-radius-base;
16
16
 
@@ -45,7 +45,7 @@
45
45
  // -------------------------
46
46
 
47
47
  .alert-success {
48
- background-color: @state-success-background;
48
+ background-color: @state-success-bg;
49
49
  border-color: @state-success-border;
50
50
  color: @state-success-text;
51
51
  hr {
@@ -58,19 +58,19 @@
58
58
  }
59
59
  .alert-danger,
60
60
  .alert-error {
61
- background-color: @state-error-background;
62
- border-color: @state-error-border;
63
- color: @state-error-text;
61
+ background-color: @state-danger-bg;
62
+ border-color: @state-danger-border;
63
+ color: @state-danger-text;
64
64
  hr {
65
- border-top-color: darken(@state-error-border, 5%);
65
+ border-top-color: darken(@state-danger-border, 5%);
66
66
  }
67
67
  > a,
68
68
  > p > a {
69
- color: darken(@state-error-text, 10%);
69
+ color: darken(@state-danger-text, 10%);
70
70
  }
71
71
  }
72
72
  .alert-info {
73
- background-color: @state-info-background;
73
+ background-color: @state-info-bg;
74
74
  border-color: @state-info-border;
75
75
  color: @state-info-text;
76
76
  hr {
@@ -48,7 +48,7 @@ a.badge {
48
48
  }
49
49
 
50
50
  // Account for counters in navs
51
- .nav-list > .active > a > .badge,
51
+ a.list-group-item.active > .badge,
52
52
  .nav-pills > .active > a > .badge {
53
53
  color: @link-color;
54
54
  background-color: #fff;
@@ -30,6 +30,8 @@
30
30
  @import "component-animations.less";
31
31
  @import "glyphicons.less";
32
32
  @import "dropdowns.less";
33
+ @import "list-group.less";
34
+ @import "panels.less";
33
35
  @import "wells.less";
34
36
  @import "close.less";
35
37
 
@@ -18,6 +18,9 @@
18
18
  padding: 0 5px;
19
19
  color: #ccc;
20
20
  }
21
+ &:last-child:after {
22
+ content: ""; // No divider after last element
23
+ }
21
24
  }
22
25
  > .active {
23
26
  color: @grayLight;
@@ -32,7 +32,7 @@
32
32
 
33
33
  // Optional: Group multiple button groups together for a toolbar
34
34
  .btn-toolbar {
35
- .clear_float();
35
+ .clearfix();
36
36
 
37
37
  .btn-group {
38
38
  float: left;
@@ -110,26 +110,26 @@ input[type="button"] {
110
110
 
111
111
  .btn {
112
112
  color: @btn-color;
113
- .btn-pseudo-states(@btn-background, @btn-border);
113
+ .btn-pseudo-states(@btn-bg, @btn-border);
114
114
  }
115
115
  .btn-primary {
116
- .btn-pseudo-states(@btn-background-primary, @btn-border-primary);
116
+ .btn-pseudo-states(@btn-primary-bg, @btn-primary-border);
117
117
  }
118
118
  // Warning appears as orange
119
119
  .btn-warning {
120
- .btn-pseudo-states(@btn-background-warning, @btn-border-warning);
120
+ .btn-pseudo-states(@btn-bg-warning, @btn-warning-border);
121
121
  }
122
122
  // Danger and error appear as red
123
123
  .btn-danger {
124
- .btn-pseudo-states(@btn-background-danger, @btn-border-danger);
124
+ .btn-pseudo-states(@btn-bg-danger, @btn-danger-border);
125
125
  }
126
126
  // Success appears as green
127
127
  .btn-success {
128
- .btn-pseudo-states(@btn-background-success, @btn-border-success);
128
+ .btn-pseudo-states(@btn-bg-success, @btn-success-border);
129
129
  }
130
130
  // Info appears as blue-green
131
131
  .btn-info {
132
- .btn-pseudo-states(@btn-background-info, @btn-border-info);
132
+ .btn-pseudo-states(@btn-bg-info, @btn-info-border);
133
133
  }
134
134
 
135
135
 
@@ -159,7 +159,7 @@ fieldset[disabled] .btn-link {
159
159
  }
160
160
  .btn-link:hover,
161
161
  .btn-link:focus {
162
- color: @link-color-hover;
162
+ color: @link-hover-color;
163
163
  text-decoration: underline;
164
164
  background-color: transparent;
165
165
  }
@@ -163,6 +163,9 @@
163
163
  padding-bottom: 20px;
164
164
  color: #fff;
165
165
  text-shadow: 0 1px 2px rgba(0,0,0,.6);
166
+ & .btn {
167
+ text-shadow: none; // No shadow for button elements in carousel-caption
168
+ }
166
169
  }
167
170
 
168
171
 
@@ -45,7 +45,7 @@
45
45
  padding: 5px 0;
46
46
  margin: 2px 0 0; // override default ul
47
47
  list-style: none;
48
- background-color: @dropdown-background;
48
+ background-color: @dropdown-bg;
49
49
  border: 1px solid #ccc; // IE8 fallback
50
50
  border: 1px solid @dropdown-border;
51
51
  border-radius: @border-radius-base;
@@ -71,7 +71,6 @@
71
71
  font-weight: normal;
72
72
  line-height: @line-height-base;
73
73
  color: @dropdown-link-color;
74
- white-space: nowrap;
75
74
  }
76
75
  }
77
76
 
@@ -82,8 +81,8 @@
82
81
  .dropdown-submenu:hover > a,
83
82
  .dropdown-submenu:focus > a {
84
83
  text-decoration: none;
85
- color: @dropdown-link-color-hover;
86
- #gradient > .vertical(@dropdown-link-background-hover, darken(@dropdown-link-background-hover, 5%));
84
+ color: @dropdown-link-hover-color;
85
+ #gradient > .vertical(@dropdown-link-hover-bg, darken(@dropdown-link-hover-bg, 5%));
87
86
  }
88
87
 
89
88
  // Active state
@@ -91,10 +90,10 @@
91
90
  .dropdown-menu > .active > a,
92
91
  .dropdown-menu > .active > a:hover,
93
92
  .dropdown-menu > .active > a:focus {
94
- color: @dropdown-link-color-active;
93
+ color: @dropdown-link-active-color;
95
94
  text-decoration: none;
96
95
  outline: 0;
97
- #gradient > .vertical(@dropdown-link-background-active, darken(@dropdown-link-background-active, 5%));
96
+ #gradient > .vertical(@dropdown-link-active-bg, darken(@dropdown-link-active-bg, 5%));
98
97
  }
99
98
 
100
99
  // Disabled state
@@ -186,12 +185,12 @@
186
185
  border-color: transparent;
187
186
  border-style: solid;
188
187
  border-width: 5px 0 5px 5px;
189
- border-left-color: darken(@dropdown-background, 20%);
188
+ border-left-color: darken(@dropdown-bg, 20%);
190
189
  margin-top: 5px;
191
190
  margin-right: -10px;
192
191
  }
193
192
  .dropdown-submenu:hover > a:after {
194
- border-left-color: @dropdown-link-color-hover;
193
+ border-left-color: @dropdown-link-hover-color;
195
194
  }
196
195
 
197
196
  // Left aligned submenus
@@ -62,7 +62,7 @@ input[type="color"] {
62
62
  line-height: @line-height-base;
63
63
  color: @gray;
64
64
  vertical-align: middle;
65
- background-color: @input-background;
65
+ background-color: @input-bg;
66
66
  border: 1px solid @input-border;
67
67
  border-radius: @input-border-radius;
68
68
  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
@@ -286,7 +286,7 @@ textarea {
286
286
  &[readonly],
287
287
  fieldset[disabled] & {
288
288
  cursor: not-allowed;
289
- background-color: @input-background-disabled;
289
+ background-color: @input-bg-disabled;
290
290
  }
291
291
  }
292
292
  // Explicitly reset the colors here
@@ -307,15 +307,15 @@ input[type="checkbox"] {
307
307
 
308
308
  // Warning
309
309
  .has-warning {
310
- .formFieldState(@state-warning-text, @state-warning-text, @state-warning-background);
310
+ .formFieldState(@state-warning-text, @state-warning-text, @state-warning-bg);
311
311
  }
312
312
  // Error
313
313
  .has-error {
314
- .formFieldState(@state-error-text, @state-error-text, @state-error-background);
314
+ .formFieldState(@state-danger-text, @state-danger-text, @state-danger-bg);
315
315
  }
316
316
  // Success
317
317
  .has-success {
318
- .formFieldState(@state-success-text, @state-success-text, @state-success-background);
318
+ .formFieldState(@state-success-text, @state-success-text, @state-success-bg);
319
319
  }
320
320
 
321
321
  // HTML5 invalid states
@@ -341,9 +341,9 @@ select:focus:invalid {
341
341
  padding: (@line-height-base - 1) 20px @line-height-base;
342
342
  margin-top: @line-height-base;
343
343
  margin-bottom: @line-height-base;
344
- background-color: @form-actions-background;
344
+ background-color: @form-actions-bg;
345
345
  border-top: 1px solid #e5e5e5;
346
- .clear_float(); // Adding clearfix to allow for .pull-right button containers
346
+ .clearfix(); // Adding clearfix to allow for .pull-right button containers
347
347
  }
348
348
 
349
349
 
@@ -517,7 +517,7 @@ select:focus:invalid {
517
517
  .control-group {
518
518
  position: relative;
519
519
  margin-bottom: @line-height-base;
520
- .clear_float();
520
+ .clearfix();
521
521
 
522
522
  input,
523
523
  select,
@@ -539,5 +539,10 @@ select:focus:invalid {
539
539
  margin-left: @component-offset-horizontal;
540
540
  }
541
541
 
542
+ // Make sure form actions buttons are aligned with controls
543
+ .form-actions {
544
+ padding-left: @component-offset-horizontal;
545
+ }
546
+
542
547
  }
543
548
  }
@@ -12,7 +12,7 @@
12
12
  .row {
13
13
  .make-row();
14
14
  }
15
- [class^="span"] {
15
+ [class*="col-span-"] {
16
16
  position: relative;
17
17
  min-height: 1px;
18
18
  padding-left: (@grid-gutter-width / 2);
@@ -25,7 +25,7 @@
25
25
  max-width: 728px;
26
26
  }
27
27
  // Generate the grid columns and offsets
28
- [class^="span"] { float: left; }
28
+ [class*="col-span-"] { float: left; }
29
29
  .generate-grid-columns(@grid-columns);
30
30
  }
31
31
 
@@ -44,6 +44,6 @@
44
44
  }
45
45
 
46
46
  // Reset utility classes due to specificity
47
- [class*="span"].pull-right {
47
+ [class*="col-span-"].pull-right {
48
48
  float: right;
49
49
  }
@@ -10,7 +10,7 @@
10
10
  font-weight: 200;
11
11
  line-height: (@line-height-base * 1.5);
12
12
  color: @jumbotron-lead-color;
13
- background-color: @jumbotron-background;
13
+ background-color: @jumbotron-bg;
14
14
  h1 {
15
15
  line-height: 1;
16
16
  color: @jumbotron-heading-color;
@@ -31,16 +31,16 @@ a.label {
31
31
  // Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute)
32
32
  .label {
33
33
  // Danger (red)
34
- &-danger { background-color: @label-danger-background; }
35
- &-danger[href] { background-color: darken(@label-danger-background, 10%); }
34
+ &-danger { background-color: @label-danger-bg; }
35
+ &-danger[href] { background-color: darken(@label-danger-bg, 10%); }
36
36
  // Warnings (orange)
37
- &-warning { background-color: @label-warning-background; }
38
- &-warning[href] { background-color: darken(@label-warning-background, 10%); }
37
+ &-warning { background-color: @label-warning-bg; }
38
+ &-warning[href] { background-color: darken(@label-warning-bg, 10%); }
39
39
  // Success (green)
40
- &-success { background-color: @label-success-background; }
41
- &-success[href] { background-color: darken(@label-success-background, 10%); }
40
+ &-success { background-color: @label-success-bg; }
41
+ &-success[href] { background-color: darken(@label-success-bg, 10%); }
42
42
  // Info (turquoise)
43
- &-info { background-color: @label-info-background; }
44
- &-info[href] { background-color: darken(@label-info-background, 10%); }
43
+ &-info { background-color: @label-info-bg; }
44
+ &-info[href] { background-color: darken(@label-info-bg, 10%); }
45
45
  }
46
46
 
@@ -0,0 +1,96 @@
1
+ //
2
+ // List groups
3
+ // --------------------------------------------------
4
+
5
+ // Base class
6
+ //
7
+ // Easily usable on <ul>, <ol>, or <div>.
8
+ .list-group {
9
+ // No need to set list-style: none; since .list-group-item is block level
10
+ margin: 0 0 20px; // reset all margins because ul and ol
11
+ background-color: @list-group-bg;
12
+ }
13
+
14
+ // Individual list items
15
+ // -------------------------
16
+
17
+ .list-group-item {
18
+ position: relative;
19
+ display: block;
20
+ padding: 10px 30px 10px 15px;
21
+ // Place the border on the list items and negative margin up for better styling
22
+ margin-bottom: -1px;
23
+ border: 1px solid @list-group-border;
24
+ }
25
+ // Round the first and last items
26
+ .list-group-item:first-child {
27
+ .border-top-radius(@border-radius-base);
28
+ }
29
+ .list-group-item:last-child {
30
+ margin-bottom: 0;
31
+ .border-bottom-radius(@border-radius-base);
32
+ }
33
+
34
+
35
+ // Custom content options
36
+ // -------------------------
37
+
38
+ .list-group-item-heading {
39
+ margin-top: 0;
40
+ margin-bottom: 5px;
41
+ }
42
+ .list-group-item-text {
43
+ margin-bottom: 0;
44
+ line-height: 1.3;
45
+ }
46
+
47
+ // Linked list items
48
+ // -------------------------
49
+
50
+ // Custom content within linked items
51
+ a.list-group-item {
52
+ .list-group-item-heading {
53
+ color: #333;
54
+ }
55
+ .list-group-item-text {
56
+ color: #555;
57
+ }
58
+ }
59
+
60
+ // Hover state
61
+ a.list-group-item:hover,
62
+ a.list-group-item:focus {
63
+ text-decoration: none;
64
+ background-color: @list-group-hover-bg;
65
+ }
66
+
67
+ // Active class on item itself, not parent
68
+ a.list-group-item.active {
69
+ z-index: 2; // Place active items above their siblings for proper border styling
70
+ color: @list-group-active-text;
71
+ background-color: @list-group-active-bg;
72
+ border-color: @list-group-active-border;
73
+
74
+ // Force color to inherit for custom content
75
+ .list-group-item-heading {
76
+ color: inherit;
77
+ }
78
+ .list-group-item-text {
79
+ color: lighten(@list-group-active-bg, 40%);
80
+ }
81
+ }
82
+
83
+ // Chevrons and badges within list items
84
+ // -------------------------
85
+
86
+ .list-group-item > .badge,
87
+ .list-group-item > .glyphicon-chevron-right {
88
+ float: right;
89
+ margin-right: -15px;
90
+ }
91
+ .list-group-item > .glyphicon-chevron-right {
92
+ margin-right: -15px;
93
+ }
94
+ .list-group-item > .glyphicon + .badge {
95
+ margin-right: 5px;
96
+ }
@@ -16,7 +16,7 @@
16
16
  // that are clearfixed.
17
17
  // 2. The use of `table` rather than `block` is only necessary if using
18
18
  // `:before` to contain the top-margins of child elements.
19
- .clear_float() {
19
+ .clearfix() {
20
20
  &:before,
21
21
  &:after {
22
22
  content: " "; /* 1 */
@@ -283,7 +283,7 @@
283
283
  background-image: -o-linear-gradient(left, @startColor, @midColor @colorStop, @endColor);
284
284
  background-image: linear-gradient(to right, @startColor, @midColor @colorStop, @endColor);
285
285
  background-repeat: no-repeat;
286
- filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
286
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
287
287
  }
288
288
 
289
289
  .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
@@ -346,7 +346,7 @@
346
346
  // -------------------------
347
347
  // Dividers (basically an hr) within dropdowns and nav lists
348
348
  .nav-divider(@top: #e5e5e5, @bottom: #fff) {
349
- height: 1px;
349
+ height: 2px; // 1px for background, one for border
350
350
  margin: ((@line-height-base / 2) - 1) 0;
351
351
  overflow: hidden;
352
352
  background-color: @top;
@@ -400,18 +400,21 @@
400
400
  .container-fixed() {
401
401
  margin-right: auto;
402
402
  margin-left: auto;
403
- .clear_float();
403
+ .clearfix();
404
404
  }
405
405
 
406
406
  // Make a grid
407
407
 
408
408
  // Creates a wrapper for a series of columns
409
409
  .make-row() {
410
- // Negative margin the row out to align the content of columns
411
- margin-left: (@grid-gutter-width / -2);
412
- margin-right: (@grid-gutter-width / -2);
413
410
  // Then clear the floated columns
414
- .clear_float();
411
+ .clearfix();
412
+
413
+ // Negative margin nested rows out to align the content of columns
414
+ .row {
415
+ margin-left: (@grid-gutter-width / -2);
416
+ margin-right: (@grid-gutter-width / -2);
417
+ }
415
418
  }
416
419
  // Generate the columns
417
420
  .make-column(@columns) {
@@ -449,52 +452,52 @@
449
452
  .generate-grid-columns(@grid-columns) {
450
453
 
451
454
  // Default columns
452
- .spanX (@index) when (@index > 0) {
453
- .span@{index} { .span(@index); }
454
- .spanX((@index - 1));
455
+ .col-span-X (@index) when (@index > 0) {
456
+ .col-span-@{index} { .col-span-(@index); }
457
+ .col-span-X((@index - 1));
455
458
  }
456
- .spanX(0) {}
459
+ .col-span-X(0) {}
457
460
 
458
461
  // Offsets (gaps between columns)
459
- .offsetX (@index) when (@index > 0) {
460
- .offset@{index} { .offset(@index); }
461
- .offsetX((@index - 1));
462
+ .col-offset-X (@index) when (@index > 0) {
463
+ .col-offset-@{index} { .col-offset-(@index); }
464
+ .col-offset-X((@index - 1));
462
465
  }
463
- .offsetX (0) {}
466
+ .col-offset-X (0) {}
464
467
 
465
468
  // Source ordering
466
- .pushX (@index) when (@index > 0) {
467
- .push@{index} { .push(@index); }
468
- .pushX((@index - 1));
469
+ .col-push-X (@index) when (@index > 0) {
470
+ .col-push-@{index} { .col-push-(@index); }
471
+ .col-push-X((@index - 1));
469
472
  }
470
- .pushX (0) {}
473
+ .col-push-X (0) {}
471
474
 
472
475
  // Source ordering
473
- .pullX (@index) when (@index > 0) {
474
- .pull@{index} { .pull(@index); }
475
- .pullX((@index - 1));
476
+ .col-pull-X (@index) when (@index > 0) {
477
+ .col-pull-@{index} { .col-pull-(@index); }
478
+ .col-pull-X((@index - 1));
476
479
  }
477
- .pullX (0) {}
480
+ .col-pull-X (0) {}
478
481
 
479
482
  // Apply the styles
480
- .span(@columns) {
483
+ .col-span-(@columns) {
481
484
  width: percentage((@columns / @grid-columns));
482
485
  }
483
- .offset(@columns) {
486
+ .col-offset-(@columns) {
484
487
  margin-left: percentage((@columns / @grid-columns));
485
488
  }
486
- .push(@columns) {
489
+ .col-push-(@columns) {
487
490
  left: percentage((@columns / @grid-columns));
488
491
  }
489
- .pull(@columns) {
492
+ .col-pull-(@columns) {
490
493
  right: percentage((@columns / @grid-columns));
491
494
  }
492
495
 
493
496
  // Generate .spanX and .offsetX
494
- .spanX(@grid-columns);
495
- .offsetX(@grid-columns);
496
- .pushX(@grid-columns);
497
- .pullX(@grid-columns);
497
+ .col-span-X(@grid-columns);
498
+ .col-offset-X(@grid-columns);
499
+ .col-push-X(@grid-columns);
500
+ .col-pull-X(@grid-columns);
498
501
  }
499
502
 
500
503