@angular/cdk 7.1.1 → 7.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/_a11y.scss +1 -1
- package/a11y/typings/focus-monitor/focus-monitor.d.ts +0 -1
- package/a11y/typings/focus-trap/focus-trap.d.ts +2 -0
- package/a11y/typings/index.metadata.json +1 -1
- package/bundles/cdk-a11y.umd.js +30 -24
- package/bundles/cdk-a11y.umd.js.map +1 -1
- package/bundles/cdk-a11y.umd.min.js +1 -1
- package/bundles/cdk-a11y.umd.min.js.map +1 -1
- package/bundles/cdk-coercion.umd.js +20 -4
- package/bundles/cdk-coercion.umd.js.map +1 -1
- package/bundles/cdk-coercion.umd.min.js +1 -1
- package/bundles/cdk-coercion.umd.min.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.js +3246 -1894
- package/bundles/cdk-drag-drop.umd.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.min.js +2 -1
- package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
- package/bundles/cdk-observers.umd.js +2 -2
- package/bundles/cdk-observers.umd.js.map +1 -1
- package/bundles/cdk-observers.umd.min.js +1 -1
- package/bundles/cdk-observers.umd.min.js.map +1 -1
- package/bundles/cdk-overlay.umd.js +107 -45
- package/bundles/cdk-overlay.umd.js.map +1 -1
- package/bundles/cdk-overlay.umd.min.js +2 -2
- package/bundles/cdk-overlay.umd.min.js.map +1 -1
- package/bundles/cdk-portal.umd.js +3 -3
- package/bundles/cdk-portal.umd.js.map +1 -1
- package/bundles/cdk-portal.umd.min.js.map +1 -1
- package/bundles/cdk-scrolling.umd.js +9 -6
- package/bundles/cdk-scrolling.umd.js.map +1 -1
- package/bundles/cdk-scrolling.umd.min.js +1 -1
- package/bundles/cdk-scrolling.umd.min.js.map +1 -1
- package/bundles/cdk-stepper.umd.js +36 -16
- package/bundles/cdk-stepper.umd.js.map +1 -1
- package/bundles/cdk-stepper.umd.min.js +1 -1
- package/bundles/cdk-stepper.umd.min.js.map +1 -1
- package/bundles/cdk-table.umd.js +8 -4
- package/bundles/cdk-table.umd.js.map +1 -1
- package/bundles/cdk-table.umd.min.js +1 -1
- package/bundles/cdk-table.umd.min.js.map +1 -1
- package/bundles/cdk-text-field.umd.js +47 -22
- package/bundles/cdk-text-field.umd.js.map +1 -1
- package/bundles/cdk-text-field.umd.min.js +1 -1
- package/bundles/cdk-text-field.umd.min.js.map +1 -1
- package/bundles/cdk-tree.umd.js +1 -1
- package/bundles/cdk-tree.umd.js.map +1 -1
- package/bundles/cdk-tree.umd.min.js +1 -1
- package/bundles/cdk-tree.umd.min.js.map +1 -1
- package/bundles/cdk.umd.js +1 -1
- package/bundles/cdk.umd.js.map +1 -1
- package/bundles/cdk.umd.min.js +1 -1
- package/bundles/cdk.umd.min.js.map +1 -1
- package/coercion/typings/element.d.ts +13 -0
- package/coercion/typings/index.metadata.json +1 -1
- package/coercion/typings/public-api.d.ts +1 -0
- package/drag-drop/typings/{drag-handle.d.ts → directives/drag-handle.d.ts} +6 -2
- package/drag-drop/typings/{drag-placeholder.d.ts → directives/drag-placeholder.d.ts} +0 -0
- package/drag-drop/typings/{drag-preview.d.ts → directives/drag-preview.d.ts} +0 -0
- package/drag-drop/typings/directives/drag.d.ts +114 -0
- package/{typings/esm5/drag-drop → drag-drop/typings/directives}/drop-list-group.d.ts +3 -0
- package/drag-drop/typings/{drop-list.d.ts → directives/drop-list.d.ts} +44 -70
- package/drag-drop/typings/drag-drop-registry.d.ts +8 -3
- package/drag-drop/typings/drag-drop.d.ts +33 -0
- package/drag-drop/typings/drag-events.d.ts +14 -7
- package/{typings/esm5/drag-drop/drag.d.ts → drag-drop/typings/drag-ref.d.ts} +162 -86
- package/drag-drop/typings/drop-list-container.d.ts +19 -3
- package/drag-drop/typings/drop-list-ref.d.ts +238 -0
- package/drag-drop/typings/index.d.ts +2 -1
- package/drag-drop/typings/index.metadata.json +1 -1
- package/drag-drop/typings/public-api.d.ts +16 -6
- package/esm2015/a11y.js +30 -20
- package/esm2015/a11y.js.map +1 -1
- package/esm2015/cdk.js +1 -1
- package/esm2015/cdk.js.map +1 -1
- package/esm2015/coercion.js +18 -1
- package/esm2015/coercion.js.map +1 -1
- package/esm2015/drag-drop.js +2281 -1289
- package/esm2015/drag-drop.js.map +1 -1
- package/esm2015/observers.js +3 -3
- package/esm2015/observers.js.map +1 -1
- package/esm2015/overlay.js +75 -31
- package/esm2015/overlay.js.map +1 -1
- package/esm2015/portal.js +1 -1
- package/esm2015/portal.js.map +1 -1
- package/esm2015/scrolling.js +9 -6
- package/esm2015/scrolling.js.map +1 -1
- package/esm2015/stepper.js +30 -16
- package/esm2015/stepper.js.map +1 -1
- package/esm2015/table.js +8 -4
- package/esm2015/table.js.map +1 -1
- package/esm2015/text-field.js +31 -19
- package/esm2015/text-field.js.map +1 -1
- package/esm2015/tree.js +2 -2
- package/esm2015/tree.js.map +1 -1
- package/esm5/a11y.es5.js +31 -25
- package/esm5/a11y.es5.js.map +1 -1
- package/esm5/cdk.es5.js +1 -1
- package/esm5/cdk.es5.js.map +1 -1
- package/esm5/coercion.es5.js +18 -1
- package/esm5/coercion.es5.js.map +1 -1
- package/esm5/drag-drop.es5.js +3247 -1899
- package/esm5/drag-drop.es5.js.map +1 -1
- package/esm5/observers.es5.js +3 -3
- package/esm5/observers.es5.js.map +1 -1
- package/esm5/overlay.es5.js +107 -45
- package/esm5/overlay.es5.js.map +1 -1
- package/esm5/portal.es5.js +3 -3
- package/esm5/portal.es5.js.map +1 -1
- package/esm5/scrolling.es5.js +9 -6
- package/esm5/scrolling.es5.js.map +1 -1
- package/esm5/stepper.es5.js +36 -17
- package/esm5/stepper.es5.js.map +1 -1
- package/esm5/table.es5.js +8 -4
- package/esm5/table.es5.js.map +1 -1
- package/esm5/text-field.es5.js +44 -19
- package/esm5/text-field.es5.js.map +1 -1
- package/esm5/tree.es5.js +2 -2
- package/esm5/tree.es5.js.map +1 -1
- package/overlay/typings/index.metadata.json +1 -1
- package/overlay/typings/overlay-directives.d.ts +0 -2
- package/overlay/typings/overlay-ref.d.ts +5 -1
- package/overlay/typings/position/flexible-connected-position-strategy.d.ts +17 -4
- package/overlay/typings/position/overlay-position-builder.d.ts +3 -3
- package/package.json +4 -4
- package/portal/typings/portal.d.ts +1 -1
- package/schematics/migration.json +5 -0
- package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/schematics/ng-update/index.d.ts +2 -0
- package/schematics/ng-update/index.js +5 -0
- package/schematics/ng-update/index.js.map +1 -1
- package/schematics/ng-update/target-version.d.ts +7 -1
- package/schematics/ng-update/target-version.js +10 -0
- package/schematics/ng-update/target-version.js.map +1 -1
- package/schematics/ng-update/upgrade-data.js +2 -1
- package/schematics/ng-update/upgrade-data.js.map +1 -1
- package/schematics/ng-update/upgrade-rules/index.js +3 -2
- package/schematics/ng-update/upgrade-rules/index.js.map +1 -1
- package/schematics/utils/ast/ng-module-imports.d.ts +1 -1
- package/schematics/utils/ast/ng-module-imports.js +25 -13
- package/schematics/utils/ast/ng-module-imports.js.map +1 -1
- package/schematics/utils/get-project.js +2 -1
- package/schematics/utils/get-project.js.map +1 -1
- package/schematics/utils/parse5-element.js +3 -2
- package/schematics/utils/parse5-element.js.map +1 -1
- package/schematics/utils/project-targets.js +2 -1
- package/schematics/utils/project-targets.js.map +1 -1
- package/schematics/utils/version-agnostic-typescript.js +3 -2
- package/schematics/utils/version-agnostic-typescript.js.map +1 -1
- package/stepper/typings/index.metadata.json +1 -1
- package/stepper/typings/stepper.d.ts +14 -2
- package/text-field/typings/autosize.d.ts +6 -0
- package/text-field/typings/index.metadata.json +1 -1
- package/tree/typings/control/base-tree-control.d.ts +1 -1
- package/tree/typings/control/nested-tree-control.d.ts +2 -2
- package/tree/typings/control/tree-control.d.ts +1 -1
- package/typings/a11y/focus-monitor/focus-monitor.d.ts +0 -1
- package/typings/a11y/focus-trap/focus-trap.d.ts +2 -0
- package/typings/a11y/index.metadata.json +1 -1
- package/typings/coercion/element.d.ts +13 -0
- package/typings/coercion/index.metadata.json +1 -1
- package/typings/coercion/public-api.d.ts +1 -0
- package/typings/drag-drop/{drag-handle.d.ts → directives/drag-handle.d.ts} +6 -2
- package/typings/drag-drop/{drag-placeholder.d.ts → directives/drag-placeholder.d.ts} +0 -0
- package/typings/drag-drop/{drag-preview.d.ts → directives/drag-preview.d.ts} +0 -0
- package/typings/drag-drop/directives/drag.d.ts +114 -0
- package/typings/drag-drop/{drop-list-group.d.ts → directives/drop-list-group.d.ts} +3 -0
- package/typings/{esm5/drag-drop → drag-drop/directives}/drop-list.d.ts +44 -70
- package/typings/drag-drop/drag-drop-registry.d.ts +8 -3
- package/typings/drag-drop/drag-drop.d.ts +33 -0
- package/typings/drag-drop/drag-events.d.ts +14 -7
- package/typings/drag-drop/{drag.d.ts → drag-ref.d.ts} +162 -86
- package/typings/drag-drop/drop-list-container.d.ts +19 -3
- package/typings/drag-drop/drop-list-ref.d.ts +238 -0
- package/typings/drag-drop/index.d.ts +2 -1
- package/typings/drag-drop/index.metadata.json +1 -1
- package/typings/drag-drop/public-api.d.ts +16 -6
- package/typings/esm5/a11y/focus-monitor/focus-monitor.d.ts +0 -1
- package/typings/esm5/a11y/focus-trap/focus-trap.d.ts +2 -0
- package/typings/esm5/a11y/index.metadata.json +1 -1
- package/typings/esm5/coercion/element.d.ts +13 -0
- package/typings/esm5/coercion/index.metadata.json +1 -1
- package/typings/esm5/coercion/public-api.d.ts +1 -0
- package/typings/esm5/drag-drop/{drag-handle.d.ts → directives/drag-handle.d.ts} +6 -2
- package/typings/esm5/drag-drop/{drag-placeholder.d.ts → directives/drag-placeholder.d.ts} +0 -0
- package/typings/esm5/drag-drop/{drag-preview.d.ts → directives/drag-preview.d.ts} +0 -0
- package/typings/esm5/drag-drop/directives/drag.d.ts +114 -0
- package/{drag-drop/typings → typings/esm5/drag-drop/directives}/drop-list-group.d.ts +3 -0
- package/typings/{drag-drop → esm5/drag-drop/directives}/drop-list.d.ts +44 -70
- package/typings/esm5/drag-drop/drag-drop-registry.d.ts +8 -3
- package/typings/esm5/drag-drop/drag-drop.d.ts +33 -0
- package/typings/esm5/drag-drop/drag-events.d.ts +14 -7
- package/{drag-drop/typings/drag.d.ts → typings/esm5/drag-drop/drag-ref.d.ts} +162 -86
- package/typings/esm5/drag-drop/drop-list-container.d.ts +19 -3
- package/typings/esm5/drag-drop/drop-list-ref.d.ts +238 -0
- package/typings/esm5/drag-drop/index.d.ts +2 -1
- package/typings/esm5/drag-drop/index.metadata.json +1 -1
- package/typings/esm5/drag-drop/public-api.d.ts +16 -6
- package/typings/esm5/index.metadata.json +1 -1
- package/typings/esm5/overlay/index.metadata.json +1 -1
- package/typings/esm5/overlay/overlay-directives.d.ts +0 -2
- package/typings/esm5/overlay/overlay-ref.d.ts +5 -1
- package/typings/esm5/overlay/position/flexible-connected-position-strategy.d.ts +17 -4
- package/typings/esm5/overlay/position/overlay-position-builder.d.ts +3 -3
- package/typings/esm5/portal/portal.d.ts +1 -1
- package/typings/esm5/stepper/index.metadata.json +1 -1
- package/typings/esm5/stepper/stepper.d.ts +14 -2
- package/typings/esm5/text-field/autosize.d.ts +6 -0
- package/typings/esm5/text-field/index.metadata.json +1 -1
- package/typings/esm5/tree/control/base-tree-control.d.ts +1 -1
- package/typings/esm5/tree/control/nested-tree-control.d.ts +2 -2
- package/typings/esm5/tree/control/tree-control.d.ts +1 -1
- package/typings/index.metadata.json +1 -1
- package/typings/overlay/index.metadata.json +1 -1
- package/typings/overlay/overlay-directives.d.ts +0 -2
- package/typings/overlay/overlay-ref.d.ts +5 -1
- package/typings/overlay/position/flexible-connected-position-strategy.d.ts +17 -4
- package/typings/overlay/position/overlay-position-builder.d.ts +3 -3
- package/typings/portal/portal.d.ts +1 -1
- package/typings/schematics/ng-update/index.d.ts +2 -0
- package/typings/schematics/ng-update/target-version.d.ts +7 -1
- package/typings/schematics/utils/ast/ng-module-imports.d.ts +1 -1
- package/typings/stepper/index.metadata.json +1 -1
- package/typings/stepper/stepper.d.ts +14 -2
- package/typings/text-field/autosize.d.ts +6 -0
- package/typings/text-field/index.metadata.json +1 -1
- package/typings/tree/control/base-tree-control.d.ts +1 -1
- package/typings/tree/control/nested-tree-control.d.ts +2 -2
- package/typings/tree/control/tree-control.d.ts +1 -1
package/esm5/a11y.es5.js
CHANGED
|
@@ -12,7 +12,7 @@ import { UP_ARROW, DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB, A, Z, ZERO, NINE, h
|
|
|
12
12
|
import { debounceTime, filter, map, tap, take } from 'rxjs/operators';
|
|
13
13
|
import { __extends } from 'tslib';
|
|
14
14
|
import { Platform, normalizePassiveListenerOptions, PlatformModule } from '@angular/cdk/platform';
|
|
15
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
15
|
+
import { coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';
|
|
16
16
|
import { ContentObserver, ObserversModule } from '@angular/cdk/observers';
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -462,6 +462,7 @@ ListKeyManager = /** @class */ (function () {
|
|
|
462
462
|
var _this = this;
|
|
463
463
|
this._items = _items;
|
|
464
464
|
this._activeItemIndex = -1;
|
|
465
|
+
this._activeItem = null;
|
|
465
466
|
this._wrap = false;
|
|
466
467
|
this._letterKeyStream = new Subject();
|
|
467
468
|
this._typeaheadSubscription = Subscription.EMPTY;
|
|
@@ -851,8 +852,11 @@ ListKeyManager = /** @class */ (function () {
|
|
|
851
852
|
var itemArray = this._getItemsArray();
|
|
852
853
|
/** @type {?} */
|
|
853
854
|
var index = typeof item === 'number' ? item : itemArray.indexOf(item);
|
|
855
|
+
/** @type {?} */
|
|
856
|
+
var activeItem = itemArray[index];
|
|
857
|
+
// Explicitly check for `null` and `undefined` because other falsy values are valid.
|
|
858
|
+
this._activeItem = activeItem == null ? null : activeItem;
|
|
854
859
|
this._activeItemIndex = index;
|
|
855
|
-
this._activeItem = itemArray[index];
|
|
856
860
|
};
|
|
857
861
|
/**
|
|
858
862
|
* Allows setting of the activeItemIndex without any other effects.
|
|
@@ -1194,7 +1198,7 @@ var InteractivityChecker = /** @class */ (function () {
|
|
|
1194
1198
|
* @return {?} Whether the element is tabbable.
|
|
1195
1199
|
*/
|
|
1196
1200
|
function (element) {
|
|
1197
|
-
// Nothing is tabbable on the
|
|
1201
|
+
// Nothing is tabbable on the server 😎
|
|
1198
1202
|
if (!this._platform.isBrowser) {
|
|
1199
1203
|
return false;
|
|
1200
1204
|
}
|
|
@@ -1456,11 +1460,15 @@ var /**
|
|
|
1456
1460
|
FocusTrap = /** @class */ (function () {
|
|
1457
1461
|
function FocusTrap(_element, _checker, _ngZone, _document, deferAnchors) {
|
|
1458
1462
|
if (deferAnchors === void 0) { deferAnchors = false; }
|
|
1463
|
+
var _this = this;
|
|
1459
1464
|
this._element = _element;
|
|
1460
1465
|
this._checker = _checker;
|
|
1461
1466
|
this._ngZone = _ngZone;
|
|
1462
1467
|
this._document = _document;
|
|
1463
1468
|
this._hasAttached = false;
|
|
1469
|
+
// Event listeners for the anchors. Need to be regular functions so that we can unbind them later.
|
|
1470
|
+
this._startAnchorListener = function () { return _this.focusLastTabbableElement(); };
|
|
1471
|
+
this._endAnchorListener = function () { return _this.focusFirstTabbableElement(); };
|
|
1464
1472
|
this._enabled = true;
|
|
1465
1473
|
if (!deferAnchors) {
|
|
1466
1474
|
this.attachAnchors();
|
|
@@ -1497,11 +1505,21 @@ FocusTrap = /** @class */ (function () {
|
|
|
1497
1505
|
* @return {?}
|
|
1498
1506
|
*/
|
|
1499
1507
|
function () {
|
|
1500
|
-
|
|
1501
|
-
|
|
1508
|
+
/** @type {?} */
|
|
1509
|
+
var startAnchor = this._startAnchor;
|
|
1510
|
+
/** @type {?} */
|
|
1511
|
+
var endAnchor = this._endAnchor;
|
|
1512
|
+
if (startAnchor) {
|
|
1513
|
+
startAnchor.removeEventListener('focus', this._startAnchorListener);
|
|
1514
|
+
if (startAnchor.parentNode) {
|
|
1515
|
+
startAnchor.parentNode.removeChild(startAnchor);
|
|
1516
|
+
}
|
|
1502
1517
|
}
|
|
1503
|
-
if (
|
|
1504
|
-
|
|
1518
|
+
if (endAnchor) {
|
|
1519
|
+
endAnchor.removeEventListener('focus', this._endAnchorListener);
|
|
1520
|
+
if (endAnchor.parentNode) {
|
|
1521
|
+
endAnchor.parentNode.removeChild(endAnchor);
|
|
1522
|
+
}
|
|
1505
1523
|
}
|
|
1506
1524
|
this._startAnchor = this._endAnchor = null;
|
|
1507
1525
|
};
|
|
@@ -1532,11 +1550,11 @@ FocusTrap = /** @class */ (function () {
|
|
|
1532
1550
|
this._ngZone.runOutsideAngular(function () {
|
|
1533
1551
|
if (!_this._startAnchor) {
|
|
1534
1552
|
_this._startAnchor = _this._createAnchor();
|
|
1535
|
-
(/** @type {?} */ (_this._startAnchor)).addEventListener('focus',
|
|
1553
|
+
(/** @type {?} */ (_this._startAnchor)).addEventListener('focus', _this._startAnchorListener);
|
|
1536
1554
|
}
|
|
1537
1555
|
if (!_this._endAnchor) {
|
|
1538
1556
|
_this._endAnchor = _this._createAnchor();
|
|
1539
|
-
(/** @type {?} */ (_this._endAnchor)).addEventListener('focus',
|
|
1557
|
+
(/** @type {?} */ (_this._endAnchor)).addEventListener('focus', _this._endAnchorListener);
|
|
1540
1558
|
}
|
|
1541
1559
|
});
|
|
1542
1560
|
if (this._element.parentNode) {
|
|
@@ -1828,6 +1846,7 @@ FocusTrap = /** @class */ (function () {
|
|
|
1828
1846
|
this._toggleAnchorTabIndex(this._enabled, anchor);
|
|
1829
1847
|
anchor.classList.add('cdk-visually-hidden');
|
|
1830
1848
|
anchor.classList.add('cdk-focus-trap-anchor');
|
|
1849
|
+
anchor.setAttribute('aria-hidden', 'true');
|
|
1831
1850
|
return anchor;
|
|
1832
1851
|
};
|
|
1833
1852
|
/**
|
|
@@ -2395,7 +2414,7 @@ var FocusMonitor = /** @class */ (function () {
|
|
|
2395
2414
|
return of(null);
|
|
2396
2415
|
}
|
|
2397
2416
|
/** @type {?} */
|
|
2398
|
-
var nativeElement =
|
|
2417
|
+
var nativeElement = coerceElement(element);
|
|
2399
2418
|
// Check if we're already monitoring this element.
|
|
2400
2419
|
if (this._elementInfo.has(nativeElement)) {
|
|
2401
2420
|
/** @type {?} */
|
|
@@ -2438,7 +2457,7 @@ var FocusMonitor = /** @class */ (function () {
|
|
|
2438
2457
|
*/
|
|
2439
2458
|
function (element) {
|
|
2440
2459
|
/** @type {?} */
|
|
2441
|
-
var nativeElement =
|
|
2460
|
+
var nativeElement = coerceElement(element);
|
|
2442
2461
|
/** @type {?} */
|
|
2443
2462
|
var elementInfo = this._elementInfo.get(nativeElement);
|
|
2444
2463
|
if (elementInfo) {
|
|
@@ -2463,7 +2482,7 @@ var FocusMonitor = /** @class */ (function () {
|
|
|
2463
2482
|
*/
|
|
2464
2483
|
function (element, origin, options) {
|
|
2465
2484
|
/** @type {?} */
|
|
2466
|
-
var nativeElement =
|
|
2485
|
+
var nativeElement = coerceElement(element);
|
|
2467
2486
|
this._setOriginForCurrentEventQueue(origin);
|
|
2468
2487
|
// `focus` isn't available on the server
|
|
2469
2488
|
if (typeof nativeElement.focus === 'function') {
|
|
@@ -2744,19 +2763,6 @@ var FocusMonitor = /** @class */ (function () {
|
|
|
2744
2763
|
clearTimeout(this._originTimeoutId);
|
|
2745
2764
|
}
|
|
2746
2765
|
};
|
|
2747
|
-
/**
|
|
2748
|
-
* @private
|
|
2749
|
-
* @param {?} element
|
|
2750
|
-
* @return {?}
|
|
2751
|
-
*/
|
|
2752
|
-
FocusMonitor.prototype._getNativeElement = /**
|
|
2753
|
-
* @private
|
|
2754
|
-
* @param {?} element
|
|
2755
|
-
* @return {?}
|
|
2756
|
-
*/
|
|
2757
|
-
function (element) {
|
|
2758
|
-
return element instanceof ElementRef ? element.nativeElement : element;
|
|
2759
|
-
};
|
|
2760
2766
|
FocusMonitor.decorators = [
|
|
2761
2767
|
{ type: Injectable, args: [{ providedIn: 'root' },] },
|
|
2762
2768
|
];
|