@adobe/exc-app 0.2.46 → 1.0.1

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.
Files changed (101) hide show
  1. package/RuntimeConfiguration.d.ts +4 -0
  2. package/appapi.d.ts +1 -1
  3. package/appapi.js +1 -1
  4. package/appapi.js.map +1 -1
  5. package/build/preBuild.js +14 -0
  6. package/capabilityapi.d.ts +4 -2
  7. package/capabilityapi.js +4 -2
  8. package/capabilityapi.js.map +1 -1
  9. package/docs/README.md +1 -0
  10. package/docs/enums/appapi.appids.md +21 -7
  11. package/docs/enums/capabilityapi.capabilityids.md +28 -0
  12. package/docs/enums/capabilityapi.capabilitynames.md +28 -0
  13. package/docs/enums/network.routing.md +21 -1
  14. package/docs/interfaces/ims.activeproductcontext.md +13 -0
  15. package/docs/interfaces/ims.imsprofile.md +130 -0
  16. package/docs/interfaces/ims.productcontext.md +141 -0
  17. package/docs/interfaces/ims.projectedproductcontext.md +21 -0
  18. package/docs/interfaces/network.queryrequest.md +20 -0
  19. package/docs/interfaces/root.poller.md +56 -0
  20. package/docs/interfaces/root.pollerhandle.md +21 -0
  21. package/docs/interfaces/root.pollingconfiguration.md +28 -0
  22. package/docs/interfaces/root.runtimeconfiguration.md +10 -1
  23. package/docs/interfaces/root.useractivityemitter.md +110 -0
  24. package/docs/interfaces/root.useractivitymonitor.md +151 -0
  25. package/docs/interfaces/user.userapi.md +1 -1
  26. package/docs/modules/ims.md +14 -0
  27. package/docs/modules/network.md +7 -0
  28. package/docs/modules/root.md +5 -0
  29. package/docs/modules/settings.md +8 -57
  30. package/docs/modules/user.md +14 -0
  31. package/index.js +7 -0
  32. package/index.js.map +1 -1
  33. package/internal.d.ts +9 -0
  34. package/internal.js +3 -0
  35. package/internal.js.map +1 -1
  36. package/network.d.ts +17 -1
  37. package/network.js +11 -0
  38. package/network.js.map +1 -1
  39. package/package.json +6 -7
  40. package/src/Global.d.ts +3 -1
  41. package/src/Global.js.map +1 -1
  42. package/tests/index.test.js +5 -0
  43. package/tests/index.test.js.map +1 -1
  44. package/tests/version.test.d.ts +1 -0
  45. package/tests/version.test.js +23 -0
  46. package/tests/version.test.js.map +1 -0
  47. package/{settings/SettingsLevel.ts → version.d.ts} +2 -20
  48. package/{metrics/Level.ts → version.js} +6 -20
  49. package/version.js.map +1 -0
  50. package/RuntimeConfiguration.ts +0 -272
  51. package/appapi.ts +0 -140
  52. package/capabilityapi.ts +0 -162
  53. package/coverage/lcov-report/block-navigation.js +0 -79
  54. package/coverage/lcov-report/prettify.js +0 -2
  55. package/coverage/lcov-report/sorter.js +0 -170
  56. package/helpcenter.ts +0 -253
  57. package/ims/ImsProfile.ts +0 -57
  58. package/index.ts +0 -76
  59. package/internal.ts +0 -102
  60. package/metrics/Analytics.ts +0 -55
  61. package/metrics/Application.ts +0 -24
  62. package/metrics/Configuration.ts +0 -33
  63. package/metrics/Events.ts +0 -28
  64. package/metrics/History.ts +0 -36
  65. package/metrics/Metric.ts +0 -52
  66. package/metrics/Metrics.ts +0 -129
  67. package/metrics/RecordType.ts +0 -139
  68. package/metrics/User.ts +0 -30
  69. package/metrics.ts +0 -94
  70. package/network.ts +0 -554
  71. package/nps.ts +0 -83
  72. package/orgswitcher.ts +0 -109
  73. package/page.ts +0 -497
  74. package/permissions.ts +0 -103
  75. package/pulse.ts +0 -198
  76. package/session.ts +0 -116
  77. package/settings.ts +0 -147
  78. package/shell.ts +0 -107
  79. package/sidebar.ts +0 -208
  80. package/sidenav.ts +0 -287
  81. package/src/EventEmitter.ts +0 -44
  82. package/src/Global.ts +0 -109
  83. package/src/Runtime.ts +0 -23
  84. package/tests/MockRuntime.ts +0 -28
  85. package/tests/appapi.test.ts +0 -78
  86. package/tests/capabilityapi.test.ts +0 -55
  87. package/tests/helpCenter.test.ts +0 -80
  88. package/tests/index.test.ts +0 -50
  89. package/tests/metrics.test.ts +0 -34
  90. package/tests/nps.test.ts +0 -37
  91. package/tests/page.test.ts +0 -110
  92. package/tests/permissions.test.ts +0 -96
  93. package/tests/pulse.test.ts +0 -37
  94. package/tests/shell.test.ts +0 -89
  95. package/tests/sidenav.test.ts +0 -91
  96. package/tests/topbar.test.ts +0 -85
  97. package/tests/user.test.ts +0 -129
  98. package/tests/userprofile.test.ts +0 -31
  99. package/topbar.ts +0 -288
  100. package/user.ts +0 -235
  101. package/userprofile.ts +0 -93
@@ -1,272 +0,0 @@
1
- /*************************************************************************
2
- * Copyright 2020 Adobe
3
- * All Rights Reserved.
4
- *
5
- * NOTICE: Adobe permits you to use, modify, and distribute this file in
6
- * accordance with the terms of the Adobe license agreement accompanying
7
- * it. If you have received this file from a source other than Adobe,
8
- * then your use, modification, or distribution of it requires the prior
9
- * written permission of Adobe.
10
- **************************************************************************/
11
- import {ImsProfile} from './ims/ImsProfile';
12
- import type MetricsConfiguration from './metrics/Configuration';
13
-
14
- /**
15
- * ImsOrg Interface
16
- */
17
- interface ImsOrg {
18
- /**
19
- * ImsOrg Name - Label
20
- */
21
- label: string;
22
- /**
23
- * ImsOrg ID - Value
24
- */
25
- value: string;
26
- }
27
-
28
- /**
29
- * ImsOrg Interface
30
- */
31
- interface ImsInfo {
32
- /**
33
- * ImsOrg - ID
34
- */
35
- imsOrg?: string;
36
- /**
37
- * ImsOrg Name - Label
38
- */
39
- imsOrgName?: string;
40
- /**
41
- * ImsOrg Profile
42
- */
43
- imsProfile?: ImsProfile;
44
- /**
45
- * ImsToken
46
- */
47
- imsToken?: string;
48
- /**
49
- * locale
50
- */
51
- locale?: string;
52
- /**
53
- * tenant
54
- */
55
- tenant?: string;
56
- }
57
-
58
- /**
59
- * User Sandbox Interface
60
- */
61
- interface Sandbox {
62
- /**
63
- * Whether it is the default sandbox
64
- */
65
- isDefault: boolean;
66
- /**
67
- * Sandbox ID
68
- */
69
- name: string;
70
- /**
71
- * Region
72
- */
73
- region: string;
74
- /**
75
- * Current state
76
- */
77
- state: string;
78
- /**
79
- * Sandbox Display Title
80
- */
81
- title: string;
82
- /**
83
- * Environment type
84
- */
85
- type: string;
86
- }
87
-
88
- /**
89
- * External Runtime Configuration Interface
90
- */
91
- export interface RuntimeConfiguration {
92
- /**
93
- * OMEGA Launch script properties
94
- */
95
- analytics?: {
96
- /**
97
- * OMEGA script for respective env
98
- */
99
- script: string;
100
- /**
101
- * solution specific OMEGA code
102
- */
103
- solution: string;
104
- };
105
- /**
106
- * Unified Shell API Gateway URL
107
- */
108
- apiGatewayUrl: string;
109
- /**
110
- * App Container
111
- */
112
- appContainer: string;
113
- /**
114
- * Solution appId
115
- */
116
- appId: string;
117
- /**
118
- * Solution iframe src url
119
- */
120
- baseFrameUrl: string;
121
- /**
122
- * Base URL
123
- */
124
- baseUrl: string;
125
- /**
126
- * List all properties changed in this configuration compared to the previous one sent
127
- */
128
- changedProperties: (keyof RuntimeConfiguration)[],
129
- /**
130
- * If discovery URL
131
- */
132
- discovery: boolean;
133
- /**
134
- * Unified Shell's environment
135
- */
136
- environment: string;
137
- /**
138
- * Query params
139
- */
140
- externalQueryParams: string;
141
- /**
142
- * List of feature flags
143
- */
144
- featureFlags?: Record<string, string>;
145
- /**
146
- * Gainsight configuration.
147
- */
148
- gainsight?: {
149
- enabled: boolean;
150
- productKey: string;
151
- };
152
- /**
153
- * Clients can pass in their local GQL endpoint
154
- */
155
- gqlEndpoint?: string;
156
- /**
157
- * Solution History type
158
- */
159
- historyType: 'HASH' | 'HISTORY' | 'SERVER';
160
- /**
161
- * Solution's list of multiple subdomains
162
- */
163
- hosts?: string[];
164
- /**
165
- * IMS Client ID
166
- */
167
- imsClientId: string;
168
- /**
169
- * IMS env
170
- */
171
- imsEnvironment: string;
172
- /**
173
- * IMS Information
174
- */
175
- imsInfo: ImsInfo;
176
- /**
177
- * Current IMS Org ID
178
- */
179
- imsOrg: string;
180
- /**
181
- * ImsOrg Interface
182
- */
183
- imsOrgs: Array<Record<string, ImsOrg>>;
184
- /**
185
- * Current IMS Org Name
186
- */
187
- imsOrgName: string;
188
- /**
189
- * User IMS Profile
190
- */
191
- imsProfile?: ImsProfile;
192
- /**
193
- * IMS Token
194
- */
195
- imsToken: string;
196
- /**
197
- * Adobe IO gateway URL used as a fallback in GQL call
198
- */
199
- ioGatewayUrl?: string;
200
- /**
201
- * Map of Adobe Io region specific endpoints.
202
- */
203
- ioRegionSpecificMap?: Record<string, string>;
204
- /**
205
- * User Locale
206
- */
207
- locale: string;
208
- /**
209
- * Solution metricsAppId
210
- */
211
- metricsAppId?: string;
212
- /**
213
- * AdobeMetricsRuntime Configuration
214
- */
215
- metricsConfig: MetricsConfiguration;
216
- /**
217
- * Metrics environment (may differ from environment)
218
- */
219
- metricsEnv?: string;
220
- /**
221
- * List of languages from user's preferences
222
- */
223
- preferredLanguages?: string[];
224
- /**
225
- * Current Sandbox
226
- */
227
- sandbox?: Sandbox;
228
- /**
229
- * Shell Height
230
- */
231
- shellHeight: number;
232
- /**
233
- * Shell Info
234
- */
235
- shellInfo?: Record<string, any>;
236
- /**
237
- * Is Side Nav collapsed?
238
- */
239
- shellSideNavCollapsed?: boolean;
240
- /**
241
- * Is Side Nav enabled?
242
- */
243
- shellSideNavPresent: boolean;
244
- /**
245
- * Side Nav width
246
- */
247
- shellSideNavWidth: number;
248
- /**
249
- * SPA pipeline app id
250
- */
251
- spaAppId?: string;
252
- /**
253
- * Sub Org
254
- */
255
- subOrg?: Record<string, any>;
256
- /**
257
- * Tenant ID
258
- */
259
- tenant: string;
260
- /**
261
- * @deprecated Solution GraphQL tenantAppId
262
- */
263
- tenantAppId?: string;
264
- /*
265
- * spectrum--darkest or spectrum--lightest
266
- */
267
- theme: string;
268
- /**
269
- * XQL gateway used for AEP specific queries
270
- */
271
- xqlGatewayUrl?: string;
272
- }
package/appapi.ts DELETED
@@ -1,140 +0,0 @@
1
- /*************************************************************************
2
- * Copyright 2020 Adobe
3
- * All Rights Reserved.
4
- *
5
- * NOTICE: Adobe permits you to use, modify, and distribute this file in
6
- * accordance with the terms of the Adobe license agreement accompanying
7
- * it. If you have received this file from a source other than Adobe,
8
- * then your use, modification, or distribution of it requires the prior
9
- * written permission of Adobe.
10
- **************************************************************************/
11
-
12
- /**
13
- * The App API provides auxiliary APIs to fetch certain data types.
14
- *
15
- * ***Import:***
16
- *
17
- * ```typescript
18
- * import appApi from '@adobe/exc-app/appapi';
19
- * ```
20
- *
21
- * ***Default export:***
22
- *
23
- * [AppApi](../interfaces/app.appapi.md#interface-appapi)
24
- *
25
- * ***Usage:***
26
- * These APIs return promises, not properties, and will need to be
27
- * asynchronously loaded by calling `get`.
28
- *
29
- * ```typescript
30
- * const [analytics, ddam, target] = await Promise.all([
31
- * appApi.get('analytics'),
32
- * appApi.get('ddam'),
33
- * appApi.get('target')
34
- * ]);
35
- *
36
- * ```
37
- *
38
- * API for fetching app data.
39
- * @packageDocumentation
40
- * @module appapi
41
- */
42
-
43
- import {getImpl} from './src/Global';
44
-
45
- export interface AppResponse {
46
- /**
47
- * Specifies the Adobe brand icon to use.
48
- */
49
- adobeBrandType: string;
50
- /**
51
- * Unique key to identify the app.
52
- */
53
- appId: string;
54
- /**
55
- * Specifies if current user on current org is enabled to use the app.
56
- */
57
- enabled: boolean;
58
- /**
59
- * Specifies the app's functional icon for link locations.
60
- */
61
- functionalIconReact: string;
62
- /**
63
- * A URL to fetch the app's functional icon.
64
- */
65
- functionalIconUrl: string;
66
- /**
67
- * Link to the app.
68
- */
69
- href: string;
70
- /**
71
- * Branding approved name of the app.
72
- */
73
- name: string;
74
- }
75
-
76
- // This list is dynamically generated in the preBuild step
77
- export enum AppIds {
78
- ADMIN = 'admin',
79
- ADMIN_CONSOLE = 'adminconsole',
80
- ADOBE_EXPERIENCE_CLOUD_GRIFFON = 'griffon',
81
- ADVERTISING_CLOUD = 'adcloud',
82
- ANALYTICS = 'analytics',
83
- ASSETS = 'assets',
84
- ASSETS_ESSENTIALS = 'ddam',
85
- AUDIENCE_MANAGER = 'audiencemanager',
86
- BIZIBLE = 'bizible',
87
- CAMPAIGN = 'acs',
88
- CAMPAIGN_CONTROL_PANEL = 'accp',
89
- CLOUD_MANAGER = 'cloudManagerUi',
90
- CONVERSATIONAL_EXPERIENCE = 'conversationalexperience',
91
- CUSTOMER_JOURNEY_ANALYTICS = 'platformAnalytics',
92
- CUSTOMER_JOURNEY_MANAGEMENT = 'cjm-home',
93
- DATA_COLLECTION = 'launchDataCollection',
94
- DYNAMIC_CHAT = 'hummingbird',
95
- EXCHANGE = 'exchange',
96
- EXPERIENCE_CLOUD = 'landing',
97
- EXPERIENCE_MANAGER = 'experienceManagerUI',
98
- EXPERIENCE_MANAGER_AEMSHELL = 'aemshell',
99
- EXPERIENCE_MANAGER_AEM_MIGRATION = 'aem-migration',
100
- EXPERIENCE_MANAGER_SCREENS = 'screens',
101
- EXPERIENCE_PLATFORM = 'experiencePlatformUI',
102
- HEADLESS_CMS = 'hcms',
103
- JOURNEY_OPTIMIZER = 'cjm-home',
104
- JOURNEY_ORCHESTRATION = 'journeys',
105
- LAUNCH_DATA_COLLECTION = 'implement',
106
- LAUNCH_IMPLEMENT = 'implement',
107
- LAUNCH_LAUNCH = 'launch',
108
- MAGENTO_COMMERCE = 'magento',
109
- MARKETO_ENGAGE = 'marketo',
110
- OFFERS = 'offers',
111
- PEOPLE = 'people',
112
- PLACES_SERVICE = 'places',
113
- PRIMETIME = 'primetime',
114
- PRIVACY_UI = 'privacyui',
115
- PROJECT_FIREFLY_APPS = 'firefly',
116
- PROJECT_HUMMINGBIRD = 'hummingbird',
117
- PROJECT_SIERRA = 'cjm-home',
118
- REPORT_SUITE_MAPPING = 'reportSuiteMapping',
119
- SOFTWARE_DISTRIBUTION = 'softwareDistribution',
120
- SYSTEM_STATUS = 'systemStatus',
121
- TARGET = 'target',
122
- TRIGGERS = 'triggers'
123
- }
124
-
125
- type AppId = typeof AppIds[keyof typeof AppIds];
126
-
127
- export interface AppApi {
128
- /**
129
- * API to fetch metadata for one app by appId
130
- */
131
- get(appId: AppId): Promise<AppResponse>;
132
- }
133
-
134
- const appapi: AppApi = {
135
- get: params => {
136
- return getImpl('appApi')().get(params);
137
- }
138
- };
139
-
140
- export default appapi;
package/capabilityapi.ts DELETED
@@ -1,162 +0,0 @@
1
- /*************************************************************************
2
- * Copyright 2021 Adobe
3
- * All Rights Reserved.
4
- *
5
- * NOTICE: Adobe permits you to use, modify, and distribute this file in
6
- * accordance with the terms of the Adobe license agreement accompanying
7
- * it. If you have received this file from a source other than Adobe,
8
- * then your use, modification, or distribution of it requires the prior
9
- * written permission of Adobe.
10
- **************************************************************************/
11
-
12
- /**
13
- * API to request capability icons by id (or secondarily by display name).
14
- *
15
- * ***Import:***
16
- *
17
- * ```typescript
18
- * import capabilityApi from '@adobe/exc-app/capabilityapi';
19
- * ```
20
- *
21
- * ***Default export:***
22
- *
23
- * [CapabilityApi](../interfaces/capability.capabilityapi.md#interface-capabilityapi)
24
- *
25
- * ***Usage:***
26
- * These APIs return promises, not properties, and will need to be
27
- * asynchronously loaded by calling `get`.
28
- *
29
- * ```typescript
30
- * const [home, assets, offer] = await Promise.all([
31
- * capabilityApi.get('home'),
32
- * capabilityApi.get('assets'),
33
- * capabilityApi.get('offer')
34
- * ]);
35
- *
36
- * ```
37
- *
38
- * API for fetching capability icon data.
39
- * @packageDocumentation
40
- * @module capabilityapi
41
- */
42
-
43
- import {getImpl} from './src/Global';
44
-
45
- export interface CapabilityResponse {
46
- /**
47
- * Unique key to identify the capability.
48
- */
49
- capabilityId: string;
50
- /**
51
- * A URL to fetch the capability's icon.
52
- */
53
- iconUrl: string;
54
- }
55
-
56
- // This list is dynamically generated in preBuild
57
- export enum CapabilityNames {
58
- ACCOUNTPROFILE = 'Profiles',
59
- ADMIN = 'Configurations',
60
- ALERT = 'Alerts',
61
- APPCONFIGURATIONS = 'App Configurations',
62
- APPLICATIONS = 'Applications',
63
- APPSURFACES = 'App Surfaces',
64
- ASSETS = 'Assets',
65
- CLIENTPROPERTIES = 'Tags',
66
- COMPONENTS = 'Components',
67
- DASHBOARD = 'Dashboards',
68
- DATAFLOW = 'Dataflows',
69
- DATASET = 'Datasets',
70
- DATASTREAMS = 'Datastreams',
71
- DATASTREAMSBETA = 'Datastreams (Beta)',
72
- DESTINATION = 'Destinations',
73
- HOME = 'Home',
74
- IDENTITIES = 'Identities',
75
- IDENTITY = 'Identities',
76
- JOURNEYS = 'Journeys',
77
- LANDINGPAGES = 'Landing pages',
78
- LICENSEUSAGE = 'License Usage',
79
- MESSAGES = 'Messages',
80
- MODEL = 'Models',
81
- MONITORING = 'Monitoring',
82
- NOTEBOOK = 'Notebooks',
83
- OFFER = 'Offers',
84
- OFFERACTIVITY = 'Components',
85
- POLICY = 'Policies',
86
- PRIVACYAUDIT = 'Audits',
87
- PROFILE = 'Profiles',
88
- QUERY = 'Queries',
89
- REQUEST = 'Requests',
90
- RULESPOLICIES = 'Rules & policies',
91
- SANDBOX = 'Sandboxes',
92
- SCHEMA = 'Schemas',
93
- SEGMENT = 'Segments',
94
- SERVERPROPERTIES = 'Event Forwarding',
95
- SERVICE = 'Services',
96
- SETTINGS = 'Channels',
97
- SOURCE = 'Sources',
98
- SUBSCRIPTIONS = 'Subscription list',
99
- WORKFLOW = 'Workflows'
100
- }
101
-
102
- // This list is dynamically generated in preBuild
103
- export enum CapabilityIds {
104
- ACCOUNTPROFILE = 'accountProfile',
105
- ADMIN = 'admin',
106
- ALERT = 'alert',
107
- APPCONFIGURATIONS = 'appconfigurations',
108
- APPLICATIONS = 'applications',
109
- APPSURFACES = 'appsurfaces',
110
- ASSETS = 'assets',
111
- CLIENTPROPERTIES = 'clientproperties',
112
- COMPONENTS = 'components',
113
- DASHBOARD = 'dashboard',
114
- DATAFLOW = 'dataflow',
115
- DATASET = 'dataset',
116
- DATASTREAMS = 'datastreams',
117
- DATASTREAMSBETA = 'datastreamsbeta',
118
- DESTINATION = 'destination',
119
- HOME = 'home',
120
- IDENTITIES = 'identities',
121
- IDENTITY = 'identity',
122
- JOURNEYS = 'journeys',
123
- LANDINGPAGES = 'landingPages',
124
- LICENSEUSAGE = 'licenseUsage',
125
- MESSAGES = 'messages',
126
- MODEL = 'model',
127
- MONITORING = 'monitoring',
128
- NOTEBOOK = 'notebook',
129
- OFFER = 'offer',
130
- OFFERACTIVITY = 'offeractivity',
131
- POLICY = 'policy',
132
- PRIVACYAUDIT = 'privacyAudit',
133
- PROFILE = 'profile',
134
- QUERY = 'query',
135
- REQUEST = 'request',
136
- RULESPOLICIES = 'rulesPolicies',
137
- SANDBOX = 'sandbox',
138
- SCHEMA = 'schema',
139
- SEGMENT = 'segment',
140
- SERVERPROPERTIES = 'serverproperties',
141
- SERVICE = 'service',
142
- SETTINGS = 'settings',
143
- SOURCE = 'source',
144
- SUBSCRIPTIONS = 'subscriptions',
145
- WORKFLOW = 'workflow'
146
- }
147
-
148
- export interface CapabilityApi {
149
- /**
150
- * Gets the specified icon.
151
- * @param icon The name of the capability, solution, or other to get an icon for.
152
- */
153
- get(capability: CapabilityNames | CapabilityIds): Promise<CapabilityResponse>;
154
- }
155
-
156
- const capabilityapi = {
157
- get: params => {
158
- return getImpl('capabilityApi')().get(params);
159
- }
160
- } as CapabilityApi;
161
-
162
- export default capabilityapi;
@@ -1,79 +0,0 @@
1
- /* eslint-disable */
2
- var jumpToCode = (function init() {
3
- // Classes of code we would like to highlight in the file view
4
- var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
5
-
6
- // Elements to highlight in the file listing view
7
- var fileListingElements = ['td.pct.low'];
8
-
9
- // We don't want to select elements that are direct descendants of another match
10
- var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
11
-
12
- // Selecter that finds elements on the page to which we can jump
13
- var selector =
14
- fileListingElements.join(', ') +
15
- ', ' +
16
- notSelector +
17
- missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
18
-
19
- // The NodeList of matching elements
20
- var missingCoverageElements = document.querySelectorAll(selector);
21
-
22
- var currentIndex;
23
-
24
- function toggleClass(index) {
25
- missingCoverageElements
26
- .item(currentIndex)
27
- .classList.remove('highlighted');
28
- missingCoverageElements.item(index).classList.add('highlighted');
29
- }
30
-
31
- function makeCurrent(index) {
32
- toggleClass(index);
33
- currentIndex = index;
34
- missingCoverageElements.item(index).scrollIntoView({
35
- behavior: 'smooth',
36
- block: 'center',
37
- inline: 'center'
38
- });
39
- }
40
-
41
- function goToPrevious() {
42
- var nextIndex = 0;
43
- if (typeof currentIndex !== 'number' || currentIndex === 0) {
44
- nextIndex = missingCoverageElements.length - 1;
45
- } else if (missingCoverageElements.length > 1) {
46
- nextIndex = currentIndex - 1;
47
- }
48
-
49
- makeCurrent(nextIndex);
50
- }
51
-
52
- function goToNext() {
53
- var nextIndex = 0;
54
-
55
- if (
56
- typeof currentIndex === 'number' &&
57
- currentIndex < missingCoverageElements.length - 1
58
- ) {
59
- nextIndex = currentIndex + 1;
60
- }
61
-
62
- makeCurrent(nextIndex);
63
- }
64
-
65
- return function jump(event) {
66
- switch (event.which) {
67
- case 78: // n
68
- case 74: // j
69
- goToNext();
70
- break;
71
- case 66: // b
72
- case 75: // k
73
- case 80: // p
74
- goToPrevious();
75
- break;
76
- }
77
- };
78
- })();
79
- window.addEventListener('keydown', jumpToCode);
@@ -1,2 +0,0 @@
1
- /* eslint-disable */
2
- window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.ignoreCase){ac=true}else{if(/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){S=true;ac=false;break}}}var Y={b:8,t:9,n:10,v:11,f:12,r:13};function ab(ah){var ag=ah.charCodeAt(0);if(ag!==92){return ag}var af=ah.charAt(1);ag=Y[af];if(ag){return ag}else{if("0"<=af&&af<="7"){return parseInt(ah.substring(1),8)}else{if(af==="u"||af==="x"){return parseInt(ah.substring(2),16)}else{return ah.charCodeAt(1)}}}}function T(af){if(af<32){return(af<16?"\\x0":"\\x")+af.toString(16)}var ag=String.fromCharCode(af);if(ag==="\\"||ag==="-"||ag==="["||ag==="]"){ag="\\"+ag}return ag}function X(am){var aq=am.substring(1,am.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));var ak=[];var af=[];var ao=aq[0]==="^";for(var ar=ao?1:0,aj=aq.length;ar<aj;++ar){var ah=aq[ar];if(/\\[bdsw]/i.test(ah)){ak.push(ah)}else{var ag=ab(ah);var al;if(ar+2<aj&&"-"===aq[ar+1]){al=ab(aq[ar+2]);ar+=2}else{al=ag}af.push([ag,al]);if(!(al<65||ag>122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;ar<af.length;++ar){var at=af[ar];if(at[0]<=ap[1]+1){ap[1]=Math.max(ap[1],at[1])}else{ai.push(ap=at)}}var an=["["];if(ao){an.push("^")}an.push.apply(an,ak);for(var ar=0;ar<ai.length;++ar){var at=ai[ar];an.push(T(at[0]));if(at[1]>at[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){an[af]=-1}}}}for(var ak=1;ak<an.length;++ak){if(-1===an[ak]){an[ak]=++ad}}for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am;if(an[am]===undefined){aj[ak]="(?:"}}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){aj[ak]="\\"+an[am]}}}}for(var ak=0,am=0;ak<ah;++ak){if("^"===aj[ak]&&"^"!==aj[ak+1]){aj[ak]=""}}if(al.ignoreCase&&S){for(var ak=0;ak<ah;++ak){var ag=aj[ak];var ai=ag.charAt(0);if(ag.length>=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.global||ae.multiline){throw new Error(""+ae)}aa.push("(?:"+W(ae)+")")}return new RegExp(aa.join("|"),ac?"gi":"g")}function a(V){var U=/(?:^|\s)nocode(?:\s|$)/;var X=[];var T=0;var Z=[];var W=0;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=document.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Y=S&&"pre"===S.substring(0,3);function aa(ab){switch(ab.nodeType){case 1:if(U.test(ab.className)){return}for(var ae=ab.firstChild;ae;ae=ae.nextSibling){aa(ae)}var ad=ab.nodeName;if("BR"===ad||"LI"===ad){X[W]="\n";Z[W<<1]=T++;Z[(W++<<1)|1]=ab}break;case 3:case 4:var ac=ab.nodeValue;if(ac.length){if(!Y){ac=ac.replace(/[ \t\r\n]+/g," ")}else{ac=ac.replace(/\r\n?/g,"\n")}X[W]=ac;Z[W<<1]=T;T+=ac.length;Z[(W++<<1)|1]=ab}break}}aa(V);return{sourceCode:X.join("").replace(/\n$/,""),spans:Z}}function B(S,U,W,T){if(!U){return}var V={sourceCode:U,basePos:S};W(V);T.push.apply(T,V.decorations)}var v=/\S/;function o(S){var V=undefined;for(var U=S.firstChild;U;U=U.nextSibling){var T=U.nodeType;V=(T===1)?(V?S:U):(T===3)?(v.test(U.nodeValue)?S:V):V}return V===S?undefined:V}function g(U,T){var S={};var V;(function(){var ad=U.concat(T);var ah=[];var ag={};for(var ab=0,Z=ad.length;ab<Z;++ab){var Y=ad[ab];var ac=Y[3];if(ac){for(var ae=ac.length;--ae>=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae<aq;++ae){var ag=an[ae];var ap=aj[ag];var ai=void 0;var am;if(typeof ap==="string"){am=false}else{var aa=S[ag.charAt(0)];if(aa){ai=ag.match(aa[1]);ap=aa[0]}else{for(var ao=0;ao<X;++ao){aa=T[ao];ai=ag.match(aa[1]);if(ai){ap=aa[0];break}}if(!ai){ap=F}}am=ap.length>=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y<W.length;++Y){ae(W[Y])}if(ag===(ag|0)){W[0].setAttribute("value",ag)}var aa=ac.createElement("OL");aa.className="linenums";var X=Math.max(0,((ag-1))|0)||0;for(var Y=0,T=W.length;Y<T;++Y){af=W[Y];af.className="L"+((Y+X)%10);if(!af.firstChild){af.appendChild(ac.createTextNode("\xA0"))}aa.appendChild(af)}V.appendChild(aa)}function D(ac){var aj=/\bMSIE\b/.test(navigator.userAgent);var am=/\n/g;var al=ac.sourceCode;var an=al.length;var V=0;var aa=ac.spans;var T=aa.length;var ah=0;var X=ac.decorations;var Y=X.length;var Z=0;X[Y]=an;var ar,aq;for(aq=ar=0;aq<Y;){if(X[aq]!==X[aq+2]){X[ar++]=X[aq++];X[ar++]=X[aq++]}else{aq+=2}}Y=ar;for(aq=ar=0;aq<Y;){var at=X[aq];var ab=X[aq+1];var W=aq+2;while(W+2<=Y&&X[W+1]===ab){W+=2}X[ar++]=at;X[ar++]=ab;aq=W}Y=X.length=ar;var ae=null;while(ah<T){var af=aa[ah];var S=aa[ah+2]||an;var ag=X[Z];var ap=X[Z+2]||an;var W=Math.min(S,ap);var ak=aa[ah+1];var U;if(ak.nodeType!==1&&(U=al.substring(V,W))){if(aj){U=U.replace(am,"\r")}ak.nodeValue=U;var ai=ak.ownerDocument;var ao=ai.createElement("SPAN");ao.className=X[Z+1];var ad=ak.parentNode;ad.replaceChild(ao,ak);ao.appendChild(ak);if(V<S){aa[ah+1]=ak=ai.createTextNode(al.substring(W,S));ad.insertBefore(ak,ao.nextSibling)}}V=W;if(V>=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*</.test(S)?"default-markup":"default-code"}return t[T]}c(K,["default-code"]);c(g([],[[F,/^[^<?]+/],[E,/^<!\w[^>]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa<ac.length;++aa){for(var Z=0,V=ac[aa].length;Z<V;++Z){T.push(ac[aa][Z])}}ac=null;var W=Date;if(!W.now){W={now:function(){return +(new Date)}}}var X=0;var S;var ab=/\blang(?:uage)?-([\w.]+)(?!\S)/;var ae=/\bprettyprint\b/;function U(){var ag=(window.PR_SHOULD_USE_CONTINUATION?W.now()+250:Infinity);for(;X<T.length&&W.now()<ag;X++){var aj=T[X];var ai=aj.className;if(ai.indexOf("prettyprint")>=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X<T.length){setTimeout(U,250)}else{if(ad){ad()}}}U()}window.prettyPrintOne=y;window.prettyPrint=b;window.PR={createSimpleLexer:g,registerLangHandler:c,sourceDecorator:i,PR_ATTRIB_NAME:P,PR_ATTRIB_VALUE:n,PR_COMMENT:j,PR_DECLARATION:E,PR_KEYWORD:z,PR_LITERAL:G,PR_NOCODE:N,PR_PLAIN:F,PR_PUNCTUATION:L,PR_SOURCE:J,PR_STRING:C,PR_TAG:m,PR_TYPE:O}})();PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_DECLARATION,/^<!\w[^>]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:<!--|-->)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]);