devtools-tracing 1.1.0 → 1.2.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/.claude/settings.local.json +14 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +28854 -0
- package/package.json +10 -8
- package/generate.ts +0 -649
- package/index.ts +0 -17
- package/lib/extension-api/ExtensionAPI.d.ts +0 -357
- package/lib/front_end/core/common/App.ts +0 -7
- package/lib/front_end/core/common/AppProvider.ts +0 -32
- package/lib/front_end/core/common/Base64.ts +0 -47
- package/lib/front_end/core/common/CharacterIdMap.ts +0 -30
- package/lib/front_end/core/common/Color.ts +0 -2506
- package/lib/front_end/core/common/ColorConverter.ts +0 -402
- package/lib/front_end/core/common/ColorUtils.ts +0 -252
- package/lib/front_end/core/common/Console.ts +0 -114
- package/lib/front_end/core/common/Debouncer.ts +0 -15
- package/lib/front_end/core/common/EventTarget.ts +0 -52
- package/lib/front_end/core/common/Gzip.ts +0 -74
- package/lib/front_end/core/common/JavaScriptMetaData.ts +0 -29
- package/lib/front_end/core/common/Lazy.ts +0 -31
- package/lib/front_end/core/common/Linkifier.ts +0 -55
- package/lib/front_end/core/common/MapWithDefault.ts +0 -26
- package/lib/front_end/core/common/Mutex.ts +0 -55
- package/lib/front_end/core/common/Object.ts +0 -145
- package/lib/front_end/core/common/ParsedURL.ts +0 -554
- package/lib/front_end/core/common/Progress.ts +0 -180
- package/lib/front_end/core/common/QueryParamHandler.ts +0 -7
- package/lib/front_end/core/common/ResolverBase.ts +0 -85
- package/lib/front_end/core/common/ResourceType.ts +0 -588
- package/lib/front_end/core/common/ReturnToPanel.ts +0 -17
- package/lib/front_end/core/common/Revealer.ts +0 -192
- package/lib/front_end/core/common/Runnable.ts +0 -41
- package/lib/front_end/core/common/SegmentedRange.ts +0 -87
- package/lib/front_end/core/common/SettingRegistration.ts +0 -339
- package/lib/front_end/core/common/Settings.ts +0 -1497
- package/lib/front_end/core/common/SimpleHistoryManager.ts +0 -124
- package/lib/front_end/core/common/StringOutputStream.ts +0 -26
- package/lib/front_end/core/common/TextDictionary.ts +0 -48
- package/lib/front_end/core/common/Throttler.ts +0 -99
- package/lib/front_end/core/common/Trie.ts +0 -152
- package/lib/front_end/core/common/Worker.ts +0 -60
- package/lib/front_end/core/common/common.ts +0 -81
- package/lib/front_end/core/host/AidaClient.ts +0 -733
- package/lib/front_end/core/host/GdpClient.ts +0 -316
- package/lib/front_end/core/host/InspectorFrontendHost.ts +0 -648
- package/lib/front_end/core/host/InspectorFrontendHostAPI.ts +0 -551
- package/lib/front_end/core/host/Platform.ts +0 -76
- package/lib/front_end/core/host/ResourceLoader.ts +0 -282
- package/lib/front_end/core/host/UserMetrics.ts +0 -1230
- package/lib/front_end/core/host/host.ts +0 -23
- package/lib/front_end/core/i18n/ByteUtilities.ts +0 -82
- package/lib/front_end/core/i18n/DevToolsLocale.ts +0 -87
- package/lib/front_end/core/i18n/NumberFormatter.ts +0 -82
- package/lib/front_end/core/i18n/i18n.ts +0 -17
- package/lib/front_end/core/i18n/i18nImpl.ts +0 -204
- package/lib/front_end/core/i18n/i18nTypes.ts +0 -10
- package/lib/front_end/core/i18n/locales.js +0 -14
- package/lib/front_end/core/i18n/time-utilities.ts +0 -174
- package/lib/front_end/core/platform/ArrayUtilities.ts +0 -271
- package/lib/front_end/core/platform/Brand.ts +0 -23
- package/lib/front_end/core/platform/Constructor.ts +0 -10
- package/lib/front_end/core/platform/DOMUtilities.ts +0 -138
- package/lib/front_end/core/platform/DateUtilities.ts +0 -15
- package/lib/front_end/core/platform/DevToolsPath.ts +0 -53
- package/lib/front_end/core/platform/KeyboardUtilities.ts +0 -38
- package/lib/front_end/core/platform/MapUtilities.ts +0 -95
- package/lib/front_end/core/platform/MimeType.ts +0 -175
- package/lib/front_end/core/platform/NumberUtilities.ts +0 -80
- package/lib/front_end/core/platform/StringUtilities.ts +0 -588
- package/lib/front_end/core/platform/Timing.ts +0 -17
- package/lib/front_end/core/platform/TypedArrayUtilities.ts +0 -189
- package/lib/front_end/core/platform/TypescriptUtilities.ts +0 -86
- package/lib/front_end/core/platform/UIString.ts +0 -39
- package/lib/front_end/core/platform/UserVisibleError.ts +0 -28
- package/lib/front_end/core/platform/platform.ts +0 -45
- package/lib/front_end/core/protocol_client/ConnectionTransport.ts +0 -26
- package/lib/front_end/core/protocol_client/InspectorBackend.ts +0 -1050
- package/lib/front_end/core/protocol_client/NodeURL.ts +0 -42
- package/lib/front_end/core/protocol_client/protocol_client.ts +0 -13
- package/lib/front_end/core/root/Runtime.ts +0 -609
- package/lib/front_end/core/root/root.ts +0 -6
- package/lib/front_end/core/sdk/AccessibilityModel.ts +0 -353
- package/lib/front_end/core/sdk/AnimationModel.ts +0 -1041
- package/lib/front_end/core/sdk/AutofillModel.ts +0 -184
- package/lib/front_end/core/sdk/CPUProfilerModel.ts +0 -148
- package/lib/front_end/core/sdk/CPUThrottlingManager.ts +0 -282
- package/lib/front_end/core/sdk/CSSContainerQuery.ts +0 -139
- package/lib/front_end/core/sdk/CSSFontFace.ts +0 -40
- package/lib/front_end/core/sdk/CSSLayer.ts +0 -30
- package/lib/front_end/core/sdk/CSSMatchedStyles.ts +0 -1646
- package/lib/front_end/core/sdk/CSSMedia.ts +0 -121
- package/lib/front_end/core/sdk/CSSMetadata.ts +0 -1647
- package/lib/front_end/core/sdk/CSSModel.ts +0 -1128
- package/lib/front_end/core/sdk/CSSProperty.ts +0 -384
- package/lib/front_end/core/sdk/CSSPropertyParser.ts +0 -681
- package/lib/front_end/core/sdk/CSSPropertyParserMatchers.ts +0 -1395
- package/lib/front_end/core/sdk/CSSQuery.ts +0 -72
- package/lib/front_end/core/sdk/CSSRule.ts +0 -465
- package/lib/front_end/core/sdk/CSSScope.ts +0 -30
- package/lib/front_end/core/sdk/CSSStartingStyle.ts +0 -29
- package/lib/front_end/core/sdk/CSSStyleDeclaration.ts +0 -313
- package/lib/front_end/core/sdk/CSSStyleSheetHeader.ts +0 -196
- package/lib/front_end/core/sdk/CSSSupports.ts +0 -33
- package/lib/front_end/core/sdk/CategorizedBreakpoint.ts +0 -64
- package/lib/front_end/core/sdk/ChildTargetManager.ts +0 -314
- package/lib/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +0 -62
- package/lib/front_end/core/sdk/Connections.ts +0 -293
- package/lib/front_end/core/sdk/ConsoleModel.ts +0 -808
- package/lib/front_end/core/sdk/ConsoleModelTypes.ts +0 -15
- package/lib/front_end/core/sdk/Cookie.ts +0 -319
- package/lib/front_end/core/sdk/CookieModel.ts +0 -239
- package/lib/front_end/core/sdk/CookieParser.ts +0 -185
- package/lib/front_end/core/sdk/DOMDebuggerModel.ts +0 -787
- package/lib/front_end/core/sdk/DOMModel.ts +0 -1961
- package/lib/front_end/core/sdk/DebuggerModel.ts +0 -1605
- package/lib/front_end/core/sdk/EmulationModel.ts +0 -648
- package/lib/front_end/core/sdk/EnhancedTracesParser.ts +0 -515
- package/lib/front_end/core/sdk/EventBreakpointsModel.ts +0 -183
- package/lib/front_end/core/sdk/FrameAssociated.ts +0 -11
- package/lib/front_end/core/sdk/FrameManager.ts +0 -259
- package/lib/front_end/core/sdk/HeapProfilerModel.ts +0 -225
- package/lib/front_end/core/sdk/HttpReasonPhraseStrings.ts +0 -77
- package/lib/front_end/core/sdk/IOModel.ts +0 -91
- package/lib/front_end/core/sdk/IsolateManager.ts +0 -257
- package/lib/front_end/core/sdk/IssuesModel.ts +0 -70
- package/lib/front_end/core/sdk/LayerTreeBase.ts +0 -169
- package/lib/front_end/core/sdk/LogModel.ts +0 -56
- package/lib/front_end/core/sdk/NetworkManager.ts +0 -2823
- package/lib/front_end/core/sdk/NetworkRequest.ts +0 -2253
- package/lib/front_end/core/sdk/OverlayColorGenerator.ts +0 -52
- package/lib/front_end/core/sdk/OverlayModel.ts +0 -1011
- package/lib/front_end/core/sdk/OverlayPersistentHighlighter.ts +0 -522
- package/lib/front_end/core/sdk/PageLoad.ts +0 -35
- package/lib/front_end/core/sdk/PageResourceLoader.ts +0 -435
- package/lib/front_end/core/sdk/PaintProfiler.ts +0 -110
- package/lib/front_end/core/sdk/PerformanceMetricsModel.ts +0 -84
- package/lib/front_end/core/sdk/PreloadingModel.ts +0 -863
- package/lib/front_end/core/sdk/RehydratingConnection.ts +0 -386
- package/lib/front_end/core/sdk/RehydratingObject.ts +0 -66
- package/lib/front_end/core/sdk/RemoteObject.ts +0 -1160
- package/lib/front_end/core/sdk/Resource.ts +0 -232
- package/lib/front_end/core/sdk/ResourceTreeModel.ts +0 -1160
- package/lib/front_end/core/sdk/RuntimeModel.ts +0 -732
- package/lib/front_end/core/sdk/SDKModel.ts +0 -65
- package/lib/front_end/core/sdk/ScopeTreeCache.ts +0 -45
- package/lib/front_end/core/sdk/ScreenCaptureModel.ts +0 -255
- package/lib/front_end/core/sdk/Script.ts +0 -534
- package/lib/front_end/core/sdk/SecurityOriginManager.ts +0 -76
- package/lib/front_end/core/sdk/ServerSentEvents.ts +0 -80
- package/lib/front_end/core/sdk/ServerSentEventsProtocol.ts +0 -122
- package/lib/front_end/core/sdk/ServerTiming.ts +0 -260
- package/lib/front_end/core/sdk/ServiceWorkerCacheModel.ts +0 -377
- package/lib/front_end/core/sdk/ServiceWorkerManager.ts +0 -605
- package/lib/front_end/core/sdk/SourceMap.ts +0 -867
- package/lib/front_end/core/sdk/SourceMapCache.ts +0 -54
- package/lib/front_end/core/sdk/SourceMapFunctionRanges.ts +0 -156
- package/lib/front_end/core/sdk/SourceMapManager.ts +0 -239
- package/lib/front_end/core/sdk/SourceMapScopeChainEntry.ts +0 -189
- package/lib/front_end/core/sdk/SourceMapScopesInfo.ts +0 -508
- package/lib/front_end/core/sdk/StorageBucketsModel.ts +0 -204
- package/lib/front_end/core/sdk/StorageKeyManager.ts +0 -98
- package/lib/front_end/core/sdk/Target.ts +0 -332
- package/lib/front_end/core/sdk/TargetManager.ts +0 -453
- package/lib/front_end/core/sdk/TraceObject.ts +0 -61
- package/lib/front_end/core/sdk/WebAuthnModel.ts +0 -104
- package/lib/front_end/core/sdk/sdk.ts +0 -174
- package/lib/front_end/entrypoints/formatter_worker/FormatterActions.ts +0 -59
- package/lib/front_end/generated/InspectorBackendCommands.js +0 -1617
- package/lib/front_end/generated/SupportedCSSProperties.js +0 -7512
- package/lib/front_end/generated/protocol-proxy-api.d.ts +0 -5022
- package/lib/front_end/generated/protocol.ts +0 -22014
- package/lib/front_end/models/bindings/CSSWorkspaceBinding.ts +0 -318
- package/lib/front_end/models/bindings/CompilerScriptMapping.ts +0 -536
- package/lib/front_end/models/bindings/ContentProviderBasedProject.ts +0 -187
- package/lib/front_end/models/bindings/DebuggerLanguagePlugins.ts +0 -1197
- package/lib/front_end/models/bindings/DebuggerWorkspaceBinding.ts +0 -733
- package/lib/front_end/models/bindings/DefaultScriptMapping.ts +0 -141
- package/lib/front_end/models/bindings/FileUtils.ts +0 -228
- package/lib/front_end/models/bindings/LiveLocation.ts +0 -81
- package/lib/front_end/models/bindings/NetworkProject.ts +0 -157
- package/lib/front_end/models/bindings/PresentationConsoleMessageHelper.ts +0 -312
- package/lib/front_end/models/bindings/ResourceMapping.ts +0 -539
- package/lib/front_end/models/bindings/ResourceScriptMapping.ts +0 -491
- package/lib/front_end/models/bindings/ResourceUtils.ts +0 -103
- package/lib/front_end/models/bindings/SASSSourceMapping.ts +0 -222
- package/lib/front_end/models/bindings/StylesSourceMapping.ts +0 -316
- package/lib/front_end/models/bindings/TempFile.ts +0 -67
- package/lib/front_end/models/bindings/bindings.ts +0 -39
- package/lib/front_end/models/cpu_profile/CPUProfileDataModel.ts +0 -571
- package/lib/front_end/models/cpu_profile/ProfileTreeModel.ts +0 -103
- package/lib/front_end/models/cpu_profile/cpu_profile.ts +0 -11
- package/lib/front_end/models/formatter/FormatterWorkerPool.ts +0 -219
- package/lib/front_end/models/formatter/ScriptFormatter.ts +0 -112
- package/lib/front_end/models/formatter/formatter.ts +0 -8
- package/lib/front_end/models/source_map_scopes/NamesResolver.ts +0 -765
- package/lib/front_end/models/source_map_scopes/ScopeChainModel.ts +0 -84
- package/lib/front_end/models/source_map_scopes/source_map_scopes.ts +0 -11
- package/lib/front_end/models/stack_trace/StackTrace.ts +0 -53
- package/lib/front_end/models/stack_trace/StackTraceImpl.ts +0 -85
- package/lib/front_end/models/stack_trace/StackTraceModel.ts +0 -128
- package/lib/front_end/models/stack_trace/Trie.ts +0 -163
- package/lib/front_end/models/stack_trace/stack_trace.ts +0 -9
- package/lib/front_end/models/stack_trace/stack_trace_impl.ts +0 -13
- package/lib/front_end/models/text_utils/CodeMirrorUtils.ts +0 -37
- package/lib/front_end/models/text_utils/ContentData.ts +0 -199
- package/lib/front_end/models/text_utils/ContentProvider.ts +0 -68
- package/lib/front_end/models/text_utils/StaticContentProvider.ts +0 -49
- package/lib/front_end/models/text_utils/StreamingContentData.ts +0 -108
- package/lib/front_end/models/text_utils/Text.ts +0 -90
- package/lib/front_end/models/text_utils/TextCursor.ts +0 -44
- package/lib/front_end/models/text_utils/TextRange.ts +0 -266
- package/lib/front_end/models/text_utils/TextUtils.ts +0 -401
- package/lib/front_end/models/text_utils/WasmDisassembly.ts +0 -87
- package/lib/front_end/models/text_utils/text_utils.ts +0 -27
- package/lib/front_end/models/trace/EntityMapper.ts +0 -141
- package/lib/front_end/models/trace/EventsSerializer.ts +0 -101
- package/lib/front_end/models/trace/LanternComputationData.ts +0 -438
- package/lib/front_end/models/trace/ModelImpl.ts +0 -236
- package/lib/front_end/models/trace/Name.ts +0 -136
- package/lib/front_end/models/trace/Processor.ts +0 -652
- package/lib/front_end/models/trace/Styles.ts +0 -1138
- package/lib/front_end/models/trace/extras/FilmStrip.ts +0 -78
- package/lib/front_end/models/trace/extras/MainThreadActivity.ts +0 -86
- package/lib/front_end/models/trace/extras/ScriptDuplication.ts +0 -236
- package/lib/front_end/models/trace/extras/StackTraceForEvent.ts +0 -203
- package/lib/front_end/models/trace/extras/ThirdParties.ts +0 -164
- package/lib/front_end/models/trace/extras/TraceFilter.ts +0 -62
- package/lib/front_end/models/trace/extras/TraceTree.ts +0 -701
- package/lib/front_end/models/trace/extras/extras.ts +0 -11
- package/lib/front_end/models/trace/handlers/AnimationFramesHandler.ts +0 -128
- package/lib/front_end/models/trace/handlers/AnimationHandler.ts +0 -36
- package/lib/front_end/models/trace/handlers/AsyncJSCallsHandler.ts +0 -239
- package/lib/front_end/models/trace/handlers/AuctionWorkletsHandler.ts +0 -183
- package/lib/front_end/models/trace/handlers/DOMStatsHandler.ts +0 -31
- package/lib/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +0 -306
- package/lib/front_end/models/trace/handlers/FlowsHandler.ts +0 -175
- package/lib/front_end/models/trace/handlers/FramesHandler.ts +0 -571
- package/lib/front_end/models/trace/handlers/GPUHandler.ts +0 -50
- package/lib/front_end/models/trace/handlers/ImagePaintingHandler.ts +0 -183
- package/lib/front_end/models/trace/handlers/InitiatorsHandler.ts +0 -193
- package/lib/front_end/models/trace/handlers/InvalidationsHandler.ts +0 -168
- package/lib/front_end/models/trace/handlers/LargestImagePaintHandler.ts +0 -109
- package/lib/front_end/models/trace/handlers/LargestTextPaintHandler.ts +0 -35
- package/lib/front_end/models/trace/handlers/LayerTreeHandler.ts +0 -123
- package/lib/front_end/models/trace/handlers/LayoutShiftsHandler.ts +0 -573
- package/lib/front_end/models/trace/handlers/MemoryHandler.ts +0 -31
- package/lib/front_end/models/trace/handlers/MetaHandler.ts +0 -525
- package/lib/front_end/models/trace/handlers/ModelHandlers.ts +0 -34
- package/lib/front_end/models/trace/handlers/NetworkRequestsHandler.ts +0 -672
- package/lib/front_end/models/trace/handlers/PageFramesHandler.ts +0 -52
- package/lib/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +0 -460
- package/lib/front_end/models/trace/handlers/RendererHandler.ts +0 -428
- package/lib/front_end/models/trace/handlers/SamplesHandler.ts +0 -271
- package/lib/front_end/models/trace/handlers/ScreenshotsHandler.ts +0 -122
- package/lib/front_end/models/trace/handlers/ScriptsHandler.ts +0 -336
- package/lib/front_end/models/trace/handlers/SelectorStatsHandler.ts +0 -110
- package/lib/front_end/models/trace/handlers/Threads.ts +0 -139
- package/lib/front_end/models/trace/handlers/UserInteractionsHandler.ts +0 -400
- package/lib/front_end/models/trace/handlers/UserTimingsHandler.ts +0 -233
- package/lib/front_end/models/trace/handlers/WarningsHandler.ts +0 -162
- package/lib/front_end/models/trace/handlers/WorkersHandler.ts +0 -45
- package/lib/front_end/models/trace/handlers/handlers.ts +0 -8
- package/lib/front_end/models/trace/handlers/helpers.ts +0 -196
- package/lib/front_end/models/trace/handlers/types.ts +0 -75
- package/lib/front_end/models/trace/helpers/Extensions.ts +0 -54
- package/lib/front_end/models/trace/helpers/Network.ts +0 -129
- package/lib/front_end/models/trace/helpers/SamplesIntegrator.ts +0 -544
- package/lib/front_end/models/trace/helpers/SyntheticEvents.ts +0 -87
- package/lib/front_end/models/trace/helpers/Timing.ts +0 -248
- package/lib/front_end/models/trace/helpers/Trace.ts +0 -928
- package/lib/front_end/models/trace/helpers/TreeHelpers.ts +0 -320
- package/lib/front_end/models/trace/helpers/helpers.ts +0 -11
- package/lib/front_end/models/trace/insights/CLSCulprits.ts +0 -668
- package/lib/front_end/models/trace/insights/Cache.ts +0 -269
- package/lib/front_end/models/trace/insights/Common.ts +0 -453
- package/lib/front_end/models/trace/insights/DOMSize.ts +0 -223
- package/lib/front_end/models/trace/insights/DocumentLatency.ts +0 -319
- package/lib/front_end/models/trace/insights/DuplicatedJavaScript.ts +0 -126
- package/lib/front_end/models/trace/insights/FontDisplay.ts +0 -119
- package/lib/front_end/models/trace/insights/ForcedReflow.ts +0 -220
- package/lib/front_end/models/trace/insights/INPBreakdown.ts +0 -171
- package/lib/front_end/models/trace/insights/ImageDelivery.ts +0 -348
- package/lib/front_end/models/trace/insights/LCPBreakdown.ts +0 -268
- package/lib/front_end/models/trace/insights/LCPDiscovery.ts +0 -237
- package/lib/front_end/models/trace/insights/LegacyJavaScript.ts +0 -138
- package/lib/front_end/models/trace/insights/Models.ts +0 -22
- package/lib/front_end/models/trace/insights/ModernHTTP.ts +0 -257
- package/lib/front_end/models/trace/insights/NetworkDependencyTree.ts +0 -726
- package/lib/front_end/models/trace/insights/RenderBlocking.ts +0 -257
- package/lib/front_end/models/trace/insights/SlowCSSSelector.ts +0 -175
- package/lib/front_end/models/trace/insights/Statistics.ts +0 -101
- package/lib/front_end/models/trace/insights/ThirdParties.ts +0 -130
- package/lib/front_end/models/trace/insights/Viewport.ts +0 -138
- package/lib/front_end/models/trace/insights/insights.ts +0 -10
- package/lib/front_end/models/trace/insights/types.ts +0 -157
- package/lib/front_end/models/trace/lantern/core/LanternError.ts +0 -7
- package/lib/front_end/models/trace/lantern/core/NetworkAnalyzer.ts +0 -619
- package/lib/front_end/models/trace/lantern/core/core.ts +0 -6
- package/lib/front_end/models/trace/lantern/graph/BaseNode.ts +0 -345
- package/lib/front_end/models/trace/lantern/graph/CPUNode.ts +0 -80
- package/lib/front_end/models/trace/lantern/graph/NetworkNode.ts +0 -101
- package/lib/front_end/models/trace/lantern/graph/PageDependencyGraph.ts +0 -636
- package/lib/front_end/models/trace/lantern/graph/graph.ts +0 -8
- package/lib/front_end/models/trace/lantern/lantern.ts +0 -17
- package/lib/front_end/models/trace/lantern/metrics/FirstContentfulPaint.ts +0 -187
- package/lib/front_end/models/trace/lantern/metrics/Interactive.ts +0 -88
- package/lib/front_end/models/trace/lantern/metrics/LargestContentfulPaint.ts +0 -92
- package/lib/front_end/models/trace/lantern/metrics/MaxPotentialFID.ts +0 -72
- package/lib/front_end/models/trace/lantern/metrics/Metric.ts +0 -126
- package/lib/front_end/models/trace/lantern/metrics/SpeedIndex.ts +0 -126
- package/lib/front_end/models/trace/lantern/metrics/TBTUtils.ts +0 -82
- package/lib/front_end/models/trace/lantern/metrics/TotalBlockingTime.ts +0 -112
- package/lib/front_end/models/trace/lantern/metrics/metrics.ts +0 -12
- package/lib/front_end/models/trace/lantern/simulation/ConnectionPool.ts +0 -150
- package/lib/front_end/models/trace/lantern/simulation/Constants.ts +0 -46
- package/lib/front_end/models/trace/lantern/simulation/DNSCache.ts +0 -61
- package/lib/front_end/models/trace/lantern/simulation/SimulationTimingMap.ts +0 -196
- package/lib/front_end/models/trace/lantern/simulation/Simulator.ts +0 -556
- package/lib/front_end/models/trace/lantern/simulation/TCPConnection.ts +0 -192
- package/lib/front_end/models/trace/lantern/simulation/simulation.ts +0 -10
- package/lib/front_end/models/trace/lantern/types/Lantern.ts +0 -220
- package/lib/front_end/models/trace/lantern/types/types.ts +0 -5
- package/lib/front_end/models/trace/trace.ts +0 -33
- package/lib/front_end/models/trace/types/Configuration.ts +0 -110
- package/lib/front_end/models/trace/types/Extensions.ts +0 -136
- package/lib/front_end/models/trace/types/File.ts +0 -281
- package/lib/front_end/models/trace/types/Overlays.ts +0 -138
- package/lib/front_end/models/trace/types/Timing.ts +0 -30
- package/lib/front_end/models/trace/types/TraceEvents.ts +0 -3277
- package/lib/front_end/models/trace/types/types.ts +0 -10
- package/lib/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +0 -240
- package/lib/front_end/models/trace_source_maps_resolver/trace_source_maps_resolver.ts +0 -5
- package/lib/front_end/models/workspace/FileManager.ts +0 -97
- package/lib/front_end/models/workspace/IgnoreListManager.ts +0 -628
- package/lib/front_end/models/workspace/SearchConfig.ts +0 -149
- package/lib/front_end/models/workspace/UISourceCode.ts +0 -698
- package/lib/front_end/models/workspace/WorkspaceImpl.ts +0 -339
- package/lib/front_end/models/workspace/workspace.ts +0 -17
- package/lib/front_end/panels/timeline/TimelineUIUtils.ts +0 -1029
- package/lib/front_end/panels/timeline/extensions/ExtensionUI.ts +0 -49
- package/lib/front_end/panels/timeline/extensions/extensions.ts +0 -9
- package/lib/front_end/third_party/codemirror.next/LICENSE +0 -21
- package/lib/front_end/third_party/codemirror.next/README.chromium +0 -30
- package/lib/front_end/third_party/codemirror.next/bundle-tsconfig.json +0 -24
- package/lib/front_end/third_party/codemirror.next/bundle.ts +0 -135
- package/lib/front_end/third_party/codemirror.next/chunk/angular.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/angular.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/codemirror.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/codemirror.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/cpp.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/cpp.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/css.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/html.js +0 -4
- package/lib/front_end/third_party/codemirror.next/chunk/java.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/java.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/javascript.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/legacy.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/legacy.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/less.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/less.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/markdown.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/markdown.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/php.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/php.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/python.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/python.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/sass.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/sass.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/svelte.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/svelte.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/vue.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/vue.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/wast.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/wast.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/xml.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/xml.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/codemirror.next.d.ts +0 -8057
- package/lib/front_end/third_party/codemirror.next/codemirror.next.js +0 -2
- package/lib/front_end/third_party/codemirror.next/codemirror.next.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/package.json +0 -43
- package/lib/front_end/third_party/codemirror.next/rebuild.sh +0 -6
- package/lib/front_end/third_party/codemirror.next/rollup.config.mjs +0 -49
- package/lib/front_end/third_party/i18n/LICENSE +0 -202
- package/lib/front_end/third_party/i18n/README.chromium +0 -15
- package/lib/front_end/third_party/i18n/i18n-impl.ts +0 -61
- package/lib/front_end/third_party/i18n/i18n.ts +0 -11
- package/lib/front_end/third_party/i18n/localized-string-set.ts +0 -129
- package/lib/front_end/third_party/intl-messageformat/LICENSE +0 -33
- package/lib/front_end/third_party/intl-messageformat/README.chromium +0 -24
- package/lib/front_end/third_party/intl-messageformat/intl-messageformat-tsconfig.json +0 -16
- package/lib/front_end/third_party/intl-messageformat/intl-messageformat.ts +0 -6
- package/lib/front_end/third_party/intl-messageformat/package/LICENSE.md +0 -33
- package/lib/front_end/third_party/intl-messageformat/package/README.md +0 -3
- package/lib/front_end/third_party/intl-messageformat/package/index.d.ts +0 -6
- package/lib/front_end/third_party/intl-messageformat/package/index.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/index.js +0 -13
- package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.d.ts +0 -5
- package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.js +0 -1710
- package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.iife.js +0 -1815
- package/lib/front_end/third_party/intl-messageformat/package/lib/index.d.ts +0 -6
- package/lib/front_end/third_party/intl-messageformat/package/lib/index.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/lib/index.js +0 -10
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.d.ts +0 -34
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.js +0 -229
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.d.ts +0 -28
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.js +0 -48
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.d.ts +0 -34
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.js +0 -179
- package/lib/front_end/third_party/intl-messageformat/package/package.json +0 -42
- package/lib/front_end/third_party/intl-messageformat/package/src/core.d.ts +0 -34
- package/lib/front_end/third_party/intl-messageformat/package/src/core.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/src/core.js +0 -230
- package/lib/front_end/third_party/intl-messageformat/package/src/error.d.ts +0 -28
- package/lib/front_end/third_party/intl-messageformat/package/src/error.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/src/error.js +0 -51
- package/lib/front_end/third_party/intl-messageformat/package/src/formatters.d.ts +0 -34
- package/lib/front_end/third_party/intl-messageformat/package/src/formatters.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/src/formatters.js +0 -182
- package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/error.d.ts +0 -79
- package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/index.d.ts +0 -15
- package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/parser.d.ts +0 -153
- package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/types.d.ts +0 -139
- package/lib/front_end/third_party/legacy-javascript/LICENSE +0 -202
- package/lib/front_end/third_party/legacy-javascript/README.chromium +0 -13
- package/lib/front_end/third_party/legacy-javascript/legacy-javascript-tsconfig.json +0 -8
- package/lib/front_end/third_party/legacy-javascript/legacy-javascript.ts +0 -3
- package/lib/front_end/third_party/legacy-javascript/lib/legacy-javascript.d.ts +0 -18
- package/lib/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +0 -943
- package/lib/front_end/third_party/legacy-javascript/package.json +0 -8
- package/lib/front_end/third_party/legacy-javascript/rebuild.sh +0 -9
- package/lib/front_end/third_party/source-map-scopes-codec/LICENSE +0 -26
- package/lib/front_end/third_party/source-map-scopes-codec/README.chromium +0 -31
- package/lib/front_end/third_party/source-map-scopes-codec/package/CONTRIBUTING.md +0 -33
- package/lib/front_end/third_party/source-map-scopes-codec/package/LICENSE +0 -26
- package/lib/front_end/third_party/source-map-scopes-codec/package/README.md +0 -64
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/builder.d.ts +0 -62
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/builder.d.ts.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/safe_builder.d.ts +0 -37
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/safe_builder.d.ts.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/decode/decode.d.ts +0 -29
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/decode/decode.d.ts.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/encode/encode.d.ts +0 -8
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/encode/encode.d.ts.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/mod.d.ts +0 -6
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/mod.d.ts.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/deno.json +0 -21
- package/lib/front_end/third_party/source-map-scopes-codec/package/package.json +0 -14
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +0 -196
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.ts +0 -262
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +0 -235
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.ts +0 -359
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/codec.js +0 -39
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/codec.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/codec.ts +0 -53
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +0 -438
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.ts +0 -539
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +0 -23
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.ts +0 -35
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +0 -257
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.ts +0 -348
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/mod.js +0 -8
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/mod.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/mod.ts +0 -20
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/scopes-tsconfig.json +0 -8
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/scopes.d.ts +0 -184
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/util.js +0 -9
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/util.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/util.ts +0 -12
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +0 -82
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/vlq.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/vlq.ts +0 -99
- package/lib/front_end/third_party/source-map-scopes-codec/source-map-scopes-codec.ts +0 -5
- package/lib/front_end/third_party/third-party-web/LICENSE +0 -20
- package/lib/front_end/third_party/third-party-web/README.chromium +0 -13
- package/lib/front_end/third_party/third-party-web/lib/nostats-subset.d.ts +0 -2
- package/lib/front_end/third_party/third-party-web/lib/nostats-subset.js +0 -149
- package/lib/front_end/third_party/third-party-web/package/LICENSE +0 -20
- package/lib/front_end/third_party/third-party-web/package/README.md +0 -929
- package/lib/front_end/third_party/third-party-web/package/dist/entities-httparchive-nostats.json +0 -1
- package/lib/front_end/third_party/third-party-web/package/dist/entities-httparchive.json +0 -1
- package/lib/front_end/third_party/third-party-web/package/dist/entities-nostats.json +0 -1
- package/lib/front_end/third_party/third-party-web/package/dist/entities.json +0 -1
- package/lib/front_end/third_party/third-party-web/package/facades.md +0 -46
- package/lib/front_end/third_party/third-party-web/package/httparchive-nostats-subset.d.ts +0 -1
- package/lib/front_end/third_party/third-party-web/package/httparchive-nostats-subset.js +0 -1
- package/lib/front_end/third_party/third-party-web/package/httparchive-subset.d.ts +0 -1
- package/lib/front_end/third_party/third-party-web/package/httparchive-subset.js +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/__snapshots__/index.test.js.snap +0 -1006
- package/lib/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +0 -139
- package/lib/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +0 -44
- package/lib/front_end/third_party/third-party-web/package/lib/entities.test.js +0 -27
- package/lib/front_end/third_party/third-party-web/package/lib/index.d.ts +0 -34
- package/lib/front_end/third_party/third-party-web/package/lib/index.js +0 -3
- package/lib/front_end/third_party/third-party-web/package/lib/index.test.js +0 -246
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/faqs.partial.md +0 -36
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/goals.partial.md +0 -9
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/methodology.partial.md +0 -5
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/template.md +0 -151
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-02-01.md +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-03-01.md +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-05-06.md +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-05-13.md +0 -14
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2021-01-01.md +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2024-07-01.md +0 -3
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.d.ts +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.js +0 -3
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive.d.ts +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive.js +0 -3
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/nostats.d.ts +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/nostats.js +0 -3
- package/lib/front_end/third_party/third-party-web/package/nostats-subset.d.ts +0 -1
- package/lib/front_end/third_party/third-party-web/package/nostats-subset.js +0 -1
- package/lib/front_end/third_party/third-party-web/package/package.json +0 -46
- package/lib/front_end/third_party/third-party-web/package.json +0 -8
- package/lib/front_end/third_party/third-party-web/rebuild.sh +0 -13
- package/lib/front_end/third_party/third-party-web/third-party-web-tsconfig.json +0 -8
- package/lib/front_end/third_party/third-party-web/third-party-web.ts +0 -3
- package/lib/front_end/ui/legacy/theme_support/ThemeSupport.ts +0 -222
- package/lib/front_end/ui/legacy/theme_support/theme_support.ts +0 -5
- package/patches/chrome-devtools-frontend+1.0.1533544.patch +0 -1716
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"legacy.js","sources":["../node_modules/@codemirror/legacy-modes/mode/clojure.js","../node_modules/@codemirror/legacy-modes/mode/coffeescript.js","../node_modules/@codemirror/legacy-modes/mode/clike.js","../node_modules/@codemirror/legacy-modes/mode/css.js","../node_modules/@codemirror/legacy-modes/mode/go.js","../node_modules/@codemirror/legacy-modes/mode/shell.js"],"sourcesContent":["var atoms = [\"false\", \"nil\", \"true\"];\nvar specialForms = [\".\", \"catch\", \"def\", \"do\", \"if\", \"monitor-enter\",\n \"monitor-exit\", \"new\", \"quote\", \"recur\", \"set!\", \"throw\", \"try\", \"var\"];\nvar coreSymbols = [\"*\", \"*'\", \"*1\", \"*2\", \"*3\", \"*agent*\",\n \"*allow-unresolved-vars*\", \"*assert*\", \"*clojure-version*\",\n \"*command-line-args*\", \"*compile-files*\", \"*compile-path*\",\n \"*compiler-options*\", \"*data-readers*\", \"*default-data-reader-fn*\", \"*e\",\n \"*err*\", \"*file*\", \"*flush-on-newline*\", \"*fn-loader*\", \"*in*\",\n \"*math-context*\", \"*ns*\", \"*out*\", \"*print-dup*\", \"*print-length*\",\n \"*print-level*\", \"*print-meta*\", \"*print-namespace-maps*\",\n \"*print-readably*\", \"*read-eval*\", \"*reader-resolver*\", \"*source-path*\",\n \"*suppress-read*\", \"*unchecked-math*\", \"*use-context-classloader*\",\n \"*verbose-defrecords*\", \"*warn-on-reflection*\", \"+\", \"+'\", \"-\", \"-'\",\n \"->\", \"->>\", \"->ArrayChunk\", \"->Eduction\", \"->Vec\", \"->VecNode\",\n \"->VecSeq\", \"-cache-protocol-fn\", \"-reset-methods\", \"..\", \"/\", \"<\", \"<=\",\n \"=\", \"==\", \">\", \">=\", \"EMPTY-NODE\", \"Inst\", \"StackTraceElement->vec\",\n \"Throwable->map\", \"accessor\", \"aclone\", \"add-classpath\", \"add-watch\",\n \"agent\", \"agent-error\", \"agent-errors\", \"aget\", \"alength\", \"alias\",\n \"all-ns\", \"alter\", \"alter-meta!\", \"alter-var-root\", \"amap\", \"ancestors\",\n \"and\", \"any?\", \"apply\", \"areduce\", \"array-map\", \"as->\", \"aset\",\n \"aset-boolean\", \"aset-byte\", \"aset-char\", \"aset-double\", \"aset-float\",\n \"aset-int\", \"aset-long\", \"aset-short\", \"assert\", \"assoc\", \"assoc!\",\n \"assoc-in\", \"associative?\", \"atom\", \"await\", \"await-for\", \"await1\",\n \"bases\", \"bean\", \"bigdec\", \"bigint\", \"biginteger\", \"binding\", \"bit-and\",\n \"bit-and-not\", \"bit-clear\", \"bit-flip\", \"bit-not\", \"bit-or\", \"bit-set\",\n \"bit-shift-left\", \"bit-shift-right\", \"bit-test\", \"bit-xor\", \"boolean\",\n \"boolean-array\", \"boolean?\", \"booleans\", \"bound-fn\", \"bound-fn*\",\n \"bound?\", \"bounded-count\", \"butlast\", \"byte\", \"byte-array\", \"bytes\",\n \"bytes?\", \"case\", \"cast\", \"cat\", \"char\", \"char-array\",\n \"char-escape-string\", \"char-name-string\", \"char?\", \"chars\", \"chunk\",\n \"chunk-append\", \"chunk-buffer\", \"chunk-cons\", \"chunk-first\", \"chunk-next\",\n \"chunk-rest\", \"chunked-seq?\", \"class\", \"class?\", \"clear-agent-errors\",\n \"clojure-version\", \"coll?\", \"comment\", \"commute\", \"comp\", \"comparator\",\n \"compare\", \"compare-and-set!\", \"compile\", \"complement\", \"completing\",\n \"concat\", \"cond\", \"cond->\", \"cond->>\", \"condp\", \"conj\", \"conj!\", \"cons\",\n \"constantly\", \"construct-proxy\", \"contains?\", \"count\", \"counted?\",\n \"create-ns\", \"create-struct\", \"cycle\", \"dec\", \"dec'\", \"decimal?\",\n \"declare\", \"dedupe\", \"default-data-readers\", \"definline\", \"definterface\",\n \"defmacro\", \"defmethod\", \"defmulti\", \"defn\", \"defn-\", \"defonce\",\n \"defprotocol\", \"defrecord\", \"defstruct\", \"deftype\", \"delay\", \"delay?\",\n \"deliver\", \"denominator\", \"deref\", \"derive\", \"descendants\", \"destructure\",\n \"disj\", \"disj!\", \"dissoc\", \"dissoc!\", \"distinct\", \"distinct?\", \"doall\",\n \"dorun\", \"doseq\", \"dosync\", \"dotimes\", \"doto\", \"double\", \"double-array\",\n \"double?\", \"doubles\", \"drop\", \"drop-last\", \"drop-while\", \"eduction\",\n \"empty\", \"empty?\", \"ensure\", \"ensure-reduced\", \"enumeration-seq\",\n \"error-handler\", \"error-mode\", \"eval\", \"even?\", \"every-pred\", \"every?\",\n \"ex-data\", \"ex-info\", \"extend\", \"extend-protocol\", \"extend-type\",\n \"extenders\", \"extends?\", \"false?\", \"ffirst\", \"file-seq\", \"filter\",\n \"filterv\", \"find\", \"find-keyword\", \"find-ns\", \"find-protocol-impl\",\n \"find-protocol-method\", \"find-var\", \"first\", \"flatten\", \"float\",\n \"float-array\", \"float?\", \"floats\", \"flush\", \"fn\", \"fn?\", \"fnext\", \"fnil\",\n \"for\", \"force\", \"format\", \"frequencies\", \"future\", \"future-call\",\n \"future-cancel\", \"future-cancelled?\", \"future-done?\", \"future?\",\n \"gen-class\", \"gen-interface\", \"gensym\", \"get\", \"get-in\", \"get-method\",\n \"get-proxy-class\", \"get-thread-bindings\", \"get-validator\", \"group-by\",\n \"halt-when\", \"hash\", \"hash-combine\", \"hash-map\", \"hash-ordered-coll\",\n \"hash-set\", \"hash-unordered-coll\", \"ident?\", \"identical?\", \"identity\",\n \"if-let\", \"if-not\", \"if-some\", \"ifn?\", \"import\", \"in-ns\", \"inc\", \"inc'\",\n \"indexed?\", \"init-proxy\", \"inst-ms\", \"inst-ms*\", \"inst?\", \"instance?\",\n \"int\", \"int-array\", \"int?\", \"integer?\", \"interleave\", \"intern\",\n \"interpose\", \"into\", \"into-array\", \"ints\", \"io!\", \"isa?\", \"iterate\",\n \"iterator-seq\", \"juxt\", \"keep\", \"keep-indexed\", \"key\", \"keys\", \"keyword\",\n \"keyword?\", \"last\", \"lazy-cat\", \"lazy-seq\", \"let\", \"letfn\", \"line-seq\",\n \"list\", \"list*\", \"list?\", \"load\", \"load-file\", \"load-reader\",\n \"load-string\", \"loaded-libs\", \"locking\", \"long\", \"long-array\", \"longs\",\n \"loop\", \"macroexpand\", \"macroexpand-1\", \"make-array\", \"make-hierarchy\",\n \"map\", \"map-entry?\", \"map-indexed\", \"map?\", \"mapcat\", \"mapv\", \"max\",\n \"max-key\", \"memfn\", \"memoize\", \"merge\", \"merge-with\", \"meta\",\n \"method-sig\", \"methods\", \"min\", \"min-key\", \"mix-collection-hash\", \"mod\",\n \"munge\", \"name\", \"namespace\", \"namespace-munge\", \"nat-int?\", \"neg-int?\",\n \"neg?\", \"newline\", \"next\", \"nfirst\", \"nil?\", \"nnext\", \"not\", \"not-any?\",\n \"not-empty\", \"not-every?\", \"not=\", \"ns\", \"ns-aliases\", \"ns-imports\",\n \"ns-interns\", \"ns-map\", \"ns-name\", \"ns-publics\", \"ns-refers\",\n \"ns-resolve\", \"ns-unalias\", \"ns-unmap\", \"nth\", \"nthnext\", \"nthrest\",\n \"num\", \"number?\", \"numerator\", \"object-array\", \"odd?\", \"or\", \"parents\",\n \"partial\", \"partition\", \"partition-all\", \"partition-by\", \"pcalls\", \"peek\",\n \"persistent!\", \"pmap\", \"pop\", \"pop!\", \"pop-thread-bindings\", \"pos-int?\",\n \"pos?\", \"pr\", \"pr-str\", \"prefer-method\", \"prefers\",\n \"primitives-classnames\", \"print\", \"print-ctor\", \"print-dup\",\n \"print-method\", \"print-simple\", \"print-str\", \"printf\", \"println\",\n \"println-str\", \"prn\", \"prn-str\", \"promise\", \"proxy\",\n \"proxy-call-with-super\", \"proxy-mappings\", \"proxy-name\", \"proxy-super\",\n \"push-thread-bindings\", \"pvalues\", \"qualified-ident?\",\n \"qualified-keyword?\", \"qualified-symbol?\", \"quot\", \"rand\", \"rand-int\",\n \"rand-nth\", \"random-sample\", \"range\", \"ratio?\", \"rational?\",\n \"rationalize\", \"re-find\", \"re-groups\", \"re-matcher\", \"re-matches\",\n \"re-pattern\", \"re-seq\", \"read\", \"read-line\", \"read-string\",\n \"reader-conditional\", \"reader-conditional?\", \"realized?\", \"record?\",\n \"reduce\", \"reduce-kv\", \"reduced\", \"reduced?\", \"reductions\", \"ref\",\n \"ref-history-count\", \"ref-max-history\", \"ref-min-history\", \"ref-set\",\n \"refer\", \"refer-clojure\", \"reify\", \"release-pending-sends\", \"rem\",\n \"remove\", \"remove-all-methods\", \"remove-method\", \"remove-ns\",\n \"remove-watch\", \"repeat\", \"repeatedly\", \"replace\", \"replicate\", \"require\",\n \"reset!\", \"reset-meta!\", \"reset-vals!\", \"resolve\", \"rest\",\n \"restart-agent\", \"resultset-seq\", \"reverse\", \"reversible?\", \"rseq\",\n \"rsubseq\", \"run!\", \"satisfies?\", \"second\", \"select-keys\", \"send\",\n \"send-off\", \"send-via\", \"seq\", \"seq?\", \"seqable?\", \"seque\", \"sequence\",\n \"sequential?\", \"set\", \"set-agent-send-executor!\",\n \"set-agent-send-off-executor!\", \"set-error-handler!\", \"set-error-mode!\",\n \"set-validator!\", \"set?\", \"short\", \"short-array\", \"shorts\", \"shuffle\",\n \"shutdown-agents\", \"simple-ident?\", \"simple-keyword?\", \"simple-symbol?\",\n \"slurp\", \"some\", \"some->\", \"some->>\", \"some-fn\", \"some?\", \"sort\",\n \"sort-by\", \"sorted-map\", \"sorted-map-by\", \"sorted-set\", \"sorted-set-by\",\n \"sorted?\", \"special-symbol?\", \"spit\", \"split-at\", \"split-with\", \"str\",\n \"string?\", \"struct\", \"struct-map\", \"subs\", \"subseq\", \"subvec\", \"supers\",\n \"swap!\", \"swap-vals!\", \"symbol\", \"symbol?\", \"sync\", \"tagged-literal\",\n \"tagged-literal?\", \"take\", \"take-last\", \"take-nth\", \"take-while\", \"test\",\n \"the-ns\", \"thread-bound?\", \"time\", \"to-array\", \"to-array-2d\",\n \"trampoline\", \"transduce\", \"transient\", \"tree-seq\", \"true?\", \"type\",\n \"unchecked-add\", \"unchecked-add-int\", \"unchecked-byte\", \"unchecked-char\",\n \"unchecked-dec\", \"unchecked-dec-int\", \"unchecked-divide-int\",\n \"unchecked-double\", \"unchecked-float\", \"unchecked-inc\",\n \"unchecked-inc-int\", \"unchecked-int\", \"unchecked-long\",\n \"unchecked-multiply\", \"unchecked-multiply-int\", \"unchecked-negate\",\n \"unchecked-negate-int\", \"unchecked-remainder-int\", \"unchecked-short\",\n \"unchecked-subtract\", \"unchecked-subtract-int\", \"underive\", \"unquote\",\n \"unquote-splicing\", \"unreduced\", \"unsigned-bit-shift-right\", \"update\",\n \"update-in\", \"update-proxy\", \"uri?\", \"use\", \"uuid?\", \"val\", \"vals\",\n \"var-get\", \"var-set\", \"var?\", \"vary-meta\", \"vec\", \"vector\", \"vector-of\",\n \"vector?\", \"volatile!\", \"volatile?\", \"vreset!\", \"vswap!\", \"when\",\n \"when-first\", \"when-let\", \"when-not\", \"when-some\", \"while\",\n \"with-bindings\", \"with-bindings*\", \"with-in-str\", \"with-loading-context\",\n \"with-local-vars\", \"with-meta\", \"with-open\", \"with-out-str\",\n \"with-precision\", \"with-redefs\", \"with-redefs-fn\", \"xml-seq\", \"zero?\",\n \"zipmap\"];\nvar haveBodyParameter = [\n \"->\", \"->>\", \"as->\", \"binding\", \"bound-fn\", \"case\", \"catch\", \"comment\",\n \"cond\", \"cond->\", \"cond->>\", \"condp\", \"def\", \"definterface\", \"defmethod\",\n \"defn\", \"defmacro\", \"defprotocol\", \"defrecord\", \"defstruct\", \"deftype\",\n \"do\", \"doseq\", \"dotimes\", \"doto\", \"extend\", \"extend-protocol\",\n \"extend-type\", \"fn\", \"for\", \"future\", \"if\", \"if-let\", \"if-not\", \"if-some\",\n \"let\", \"letfn\", \"locking\", \"loop\", \"ns\", \"proxy\", \"reify\", \"struct-map\",\n \"some->\", \"some->>\", \"try\", \"when\", \"when-first\", \"when-let\", \"when-not\",\n \"when-some\", \"while\", \"with-bindings\", \"with-bindings*\", \"with-in-str\",\n \"with-loading-context\", \"with-local-vars\", \"with-meta\", \"with-open\",\n \"with-out-str\", \"with-precision\", \"with-redefs\", \"with-redefs-fn\"];\n\nvar atom = createLookupMap(atoms);\nvar specialForm = createLookupMap(specialForms);\nvar coreSymbol = createLookupMap(coreSymbols);\nvar hasBodyParameter = createLookupMap(haveBodyParameter);\nvar delimiter = /^(?:[\\\\\\[\\]\\s\"(),;@^`{}~]|$)/;\nvar numberLiteral = /^(?:[+\\-]?\\d+(?:(?:N|(?:[eE][+\\-]?\\d+))|(?:\\.?\\d*(?:M|(?:[eE][+\\-]?\\d+))?)|\\/\\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\\\\[\\]\\s\"#'(),;@^`{}~]|$))/;\nvar characterLiteral = /^(?:\\\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\\\\[\\]\\s\"(),;@^`{}~]|$))/;\n\n// simple-namespace := /^[^\\\\\\/\\[\\]\\d\\s\"#'(),;@^`{}~.][^\\\\\\[\\]\\s\"(),;@^`{}~.\\/]*/\n// simple-symbol := /^(?:\\/|[^\\\\\\/\\[\\]\\d\\s\"#'(),;@^`{}~][^\\\\\\[\\]\\s\"(),;@^`{}~]*)/\n// qualified-symbol := (<simple-namespace>(<.><simple-namespace>)*</>)?<simple-symbol>\nvar qualifiedSymbol = /^(?:(?:[^\\\\\\/\\[\\]\\d\\s\"#'(),;@^`{}~.][^\\\\\\[\\]\\s\"(),;@^`{}~.\\/]*(?:\\.[^\\\\\\/\\[\\]\\d\\s\"#'(),;@^`{}~.][^\\\\\\[\\]\\s\"(),;@^`{}~.\\/]*)*\\/)?(?:\\/|[^\\\\\\/\\[\\]\\d\\s\"#'(),;@^`{}~][^\\\\\\[\\]\\s\"(),;@^`{}~]*)*(?=[\\\\\\[\\]\\s\"(),;@^`{}~]|$))/;\n\nfunction base(stream, state) {\n if (stream.eatSpace() || stream.eat(\",\")) return [\"space\", null];\n if (stream.match(numberLiteral)) return [null, \"number\"];\n if (stream.match(characterLiteral)) return [null, \"string.special\"];\n if (stream.eat(/^\"/)) return (state.tokenize = inString)(stream, state);\n if (stream.eat(/^[(\\[{]/)) return [\"open\", \"bracket\"];\n if (stream.eat(/^[)\\]}]/)) return [\"close\", \"bracket\"];\n if (stream.eat(/^;/)) {stream.skipToEnd(); return [\"space\", \"comment\"];}\n if (stream.eat(/^[#'@^`~]/)) return [null, \"meta\"];\n\n var matches = stream.match(qualifiedSymbol);\n var symbol = matches && matches[0];\n\n if (!symbol) {\n // advance stream by at least one character so we don't get stuck.\n stream.next();\n stream.eatWhile(function (c) {return !is(c, delimiter);});\n return [null, \"error\"];\n }\n\n if (symbol === \"comment\" && state.lastToken === \"(\")\n return (state.tokenize = inComment)(stream, state);\n if (is(symbol, atom) || symbol.charAt(0) === \":\") return [\"symbol\", \"atom\"];\n if (is(symbol, specialForm) || is(symbol, coreSymbol)) return [\"symbol\", \"keyword\"];\n if (state.lastToken === \"(\") return [\"symbol\", \"builtin\"]; // other operator\n\n return [\"symbol\", \"variable\"];\n}\n\nfunction inString(stream, state) {\n var escaped = false, next;\n\n while (next = stream.next()) {\n if (next === \"\\\"\" && !escaped) {state.tokenize = base; break;}\n escaped = !escaped && next === \"\\\\\";\n }\n\n return [null, \"string\"];\n}\n\nfunction inComment(stream, state) {\n var parenthesisCount = 1;\n var next;\n\n while (next = stream.next()) {\n if (next === \")\") parenthesisCount--;\n if (next === \"(\") parenthesisCount++;\n if (parenthesisCount === 0) {\n stream.backUp(1);\n state.tokenize = base;\n break;\n }\n }\n\n return [\"space\", \"comment\"];\n}\n\nfunction createLookupMap(words) {\n var obj = {};\n\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n\n return obj;\n}\n\nfunction is(value, test) {\n if (test instanceof RegExp) return test.test(value);\n if (test instanceof Object) return test.propertyIsEnumerable(value);\n}\n\nexport const clojure = {\n name: \"clojure\",\n startState: function () {\n return {\n ctx: {prev: null, start: 0, indentTo: 0},\n lastToken: null,\n tokenize: base\n };\n },\n\n token: function (stream, state) {\n if (stream.sol() && (typeof state.ctx.indentTo !== \"number\"))\n state.ctx.indentTo = state.ctx.start + 1;\n\n var typeStylePair = state.tokenize(stream, state);\n var type = typeStylePair[0];\n var style = typeStylePair[1];\n var current = stream.current();\n\n if (type !== \"space\") {\n if (state.lastToken === \"(\" && state.ctx.indentTo === null) {\n if (type === \"symbol\" && is(current, hasBodyParameter))\n state.ctx.indentTo = state.ctx.start + stream.indentUnit;\n else state.ctx.indentTo = \"next\";\n } else if (state.ctx.indentTo === \"next\") {\n state.ctx.indentTo = stream.column();\n }\n\n state.lastToken = current;\n }\n\n if (type === \"open\")\n state.ctx = {prev: state.ctx, start: stream.column(), indentTo: null};\n else if (type === \"close\") state.ctx = state.ctx.prev || state.ctx;\n\n return style;\n },\n\n indent: function (state) {\n var i = state.ctx.indentTo;\n\n return (typeof i === \"number\") ?\n i :\n state.ctx.start + 1;\n },\n\n languageData: {\n closeBrackets: {brackets: [\"(\", \"[\", \"{\", '\"']},\n commentTokens: {line: \";;\"},\n autocomplete: [].concat(atoms, specialForms, coreSymbols)\n }\n};\n","var ERRORCLASS = \"error\";\n\nfunction wordRegexp(words) {\n return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\");\n}\n\nvar operators = /^(?:->|=>|\\+[+=]?|-[\\-=]?|\\*[\\*=]?|\\/[\\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\\|=?|\\^=?|\\~|!|\\?|(or|and|\\|\\||&&|\\?)=)/;\nvar delimiters = /^(?:[()\\[\\]{},:`=;]|\\.\\.?\\.?)/;\nvar identifiers = /^[_A-Za-z$][_A-Za-z$0-9]*/;\nvar atProp = /^@[_A-Za-z$][_A-Za-z$0-9]*/;\n\nvar wordOperators = wordRegexp([\"and\", \"or\", \"not\",\n \"is\", \"isnt\", \"in\",\n \"instanceof\", \"typeof\"]);\nvar indentKeywords = [\"for\", \"while\", \"loop\", \"if\", \"unless\", \"else\",\n \"switch\", \"try\", \"catch\", \"finally\", \"class\"];\nvar commonKeywords = [\"break\", \"by\", \"continue\", \"debugger\", \"delete\",\n \"do\", \"in\", \"of\", \"new\", \"return\", \"then\",\n \"this\", \"@\", \"throw\", \"when\", \"until\", \"extends\"];\n\nvar keywords = wordRegexp(indentKeywords.concat(commonKeywords));\n\nindentKeywords = wordRegexp(indentKeywords);\n\n\nvar stringPrefixes = /^('{3}|\\\"{3}|['\\\"])/;\nvar regexPrefixes = /^(\\/{3}|\\/)/;\nvar commonConstants = [\"Infinity\", \"NaN\", \"undefined\", \"null\", \"true\", \"false\", \"on\", \"off\", \"yes\", \"no\"];\nvar constants = wordRegexp(commonConstants);\n\n// Tokenizers\nfunction tokenBase(stream, state) {\n // Handle scope changes\n if (stream.sol()) {\n if (state.scope.align === null) state.scope.align = false;\n var scopeOffset = state.scope.offset;\n if (stream.eatSpace()) {\n var lineOffset = stream.indentation();\n if (lineOffset > scopeOffset && state.scope.type == \"coffee\") {\n return \"indent\";\n } else if (lineOffset < scopeOffset) {\n return \"dedent\";\n }\n return null;\n } else {\n if (scopeOffset > 0) {\n dedent(stream, state);\n }\n }\n }\n if (stream.eatSpace()) {\n return null;\n }\n\n var ch = stream.peek();\n\n // Handle docco title comment (single line)\n if (stream.match(\"####\")) {\n stream.skipToEnd();\n return \"comment\";\n }\n\n // Handle multi line comments\n if (stream.match(\"###\")) {\n state.tokenize = longComment;\n return state.tokenize(stream, state);\n }\n\n // Single line comment\n if (ch === \"#\") {\n stream.skipToEnd();\n return \"comment\";\n }\n\n // Handle number literals\n if (stream.match(/^-?[0-9\\.]/, false)) {\n var floatLiteral = false;\n // Floats\n if (stream.match(/^-?\\d*\\.\\d+(e[\\+\\-]?\\d+)?/i)) {\n floatLiteral = true;\n }\n if (stream.match(/^-?\\d+\\.\\d*/)) {\n floatLiteral = true;\n }\n if (stream.match(/^-?\\.\\d+/)) {\n floatLiteral = true;\n }\n\n if (floatLiteral) {\n // prevent from getting extra . on 1..\n if (stream.peek() == \".\"){\n stream.backUp(1);\n }\n return \"number\";\n }\n // Integers\n var intLiteral = false;\n // Hex\n if (stream.match(/^-?0x[0-9a-f]+/i)) {\n intLiteral = true;\n }\n // Decimal\n if (stream.match(/^-?[1-9]\\d*(e[\\+\\-]?\\d+)?/)) {\n intLiteral = true;\n }\n // Zero by itself with no other piece of number.\n if (stream.match(/^-?0(?![\\dx])/i)) {\n intLiteral = true;\n }\n if (intLiteral) {\n return \"number\";\n }\n }\n\n // Handle strings\n if (stream.match(stringPrefixes)) {\n state.tokenize = tokenFactory(stream.current(), false, \"string\");\n return state.tokenize(stream, state);\n }\n // Handle regex literals\n if (stream.match(regexPrefixes)) {\n if (stream.current() != \"/\" || stream.match(/^.*\\//, false)) { // prevent highlight of division\n state.tokenize = tokenFactory(stream.current(), true, \"string.special\");\n return state.tokenize(stream, state);\n } else {\n stream.backUp(1);\n }\n }\n\n\n\n // Handle operators and delimiters\n if (stream.match(operators) || stream.match(wordOperators)) {\n return \"operator\";\n }\n if (stream.match(delimiters)) {\n return \"punctuation\";\n }\n\n if (stream.match(constants)) {\n return \"atom\";\n }\n\n if (stream.match(atProp) || state.prop && stream.match(identifiers)) {\n return \"property\";\n }\n\n if (stream.match(keywords)) {\n return \"keyword\";\n }\n\n if (stream.match(identifiers)) {\n return \"variable\";\n }\n\n // Handle non-detected items\n stream.next();\n return ERRORCLASS;\n}\n\nfunction tokenFactory(delimiter, singleline, outclass) {\n return function(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"\\/\\\\]/);\n if (stream.eat(\"\\\\\")) {\n stream.next();\n if (singleline && stream.eol()) {\n return outclass;\n }\n } else if (stream.match(delimiter)) {\n state.tokenize = tokenBase;\n return outclass;\n } else {\n stream.eat(/['\"\\/]/);\n }\n }\n if (singleline) {\n state.tokenize = tokenBase;\n }\n return outclass;\n };\n}\n\nfunction longComment(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^#]/);\n if (stream.match(\"###\")) {\n state.tokenize = tokenBase;\n break;\n }\n stream.eatWhile(\"#\");\n }\n return \"comment\";\n}\n\nfunction indent(stream, state, type = \"coffee\") {\n var offset = 0, align = false, alignOffset = null;\n for (var scope = state.scope; scope; scope = scope.prev) {\n if (scope.type === \"coffee\" || scope.type == \"}\") {\n offset = scope.offset + stream.indentUnit;\n break;\n }\n }\n if (type !== \"coffee\") {\n align = null;\n alignOffset = stream.column() + stream.current().length;\n } else if (state.scope.align) {\n state.scope.align = false;\n }\n state.scope = {\n offset: offset,\n type: type,\n prev: state.scope,\n align: align,\n alignOffset: alignOffset\n };\n}\n\nfunction dedent(stream, state) {\n if (!state.scope.prev) return;\n if (state.scope.type === \"coffee\") {\n var _indent = stream.indentation();\n var matched = false;\n for (var scope = state.scope; scope; scope = scope.prev) {\n if (_indent === scope.offset) {\n matched = true;\n break;\n }\n }\n if (!matched) {\n return true;\n }\n while (state.scope.prev && state.scope.offset !== _indent) {\n state.scope = state.scope.prev;\n }\n return false;\n } else {\n state.scope = state.scope.prev;\n return false;\n }\n}\n\nfunction tokenLexer(stream, state) {\n var style = state.tokenize(stream, state);\n var current = stream.current();\n\n // Handle scope changes.\n if (current === \"return\") {\n state.dedent = true;\n }\n if (((current === \"->\" || current === \"=>\") && stream.eol())\n || style === \"indent\") {\n indent(stream, state);\n }\n var delimiter_index = \"[({\".indexOf(current);\n if (delimiter_index !== -1) {\n indent(stream, state, \"])}\".slice(delimiter_index, delimiter_index+1));\n }\n if (indentKeywords.exec(current)){\n indent(stream, state);\n }\n if (current == \"then\"){\n dedent(stream, state);\n }\n\n\n if (style === \"dedent\") {\n if (dedent(stream, state)) {\n return ERRORCLASS;\n }\n }\n delimiter_index = \"])}\".indexOf(current);\n if (delimiter_index !== -1) {\n while (state.scope.type == \"coffee\" && state.scope.prev)\n state.scope = state.scope.prev;\n if (state.scope.type == current)\n state.scope = state.scope.prev;\n }\n if (state.dedent && stream.eol()) {\n if (state.scope.type == \"coffee\" && state.scope.prev)\n state.scope = state.scope.prev;\n state.dedent = false;\n }\n\n return style == \"indent\" || style == \"dedent\" ? null : style;\n}\n\nexport const coffeeScript = {\n name: \"coffeescript\",\n startState: function() {\n return {\n tokenize: tokenBase,\n scope: {offset: 0, type:\"coffee\", prev: null, align: false},\n prop: false,\n dedent: 0\n };\n },\n\n token: function(stream, state) {\n var fillAlign = state.scope.align === null && state.scope;\n if (fillAlign && stream.sol()) fillAlign.align = false;\n\n var style = tokenLexer(stream, state);\n if (style && style != \"comment\") {\n if (fillAlign) fillAlign.align = true;\n state.prop = style == \"punctuation\" && stream.current() == \".\"\n }\n\n return style;\n },\n\n indent: function(state, text) {\n if (state.tokenize != tokenBase) return 0;\n var scope = state.scope;\n var closer = text && \"])}\".indexOf(text.charAt(0)) > -1;\n if (closer) while (scope.type == \"coffee\" && scope.prev) scope = scope.prev;\n var closes = closer && scope.type === text.charAt(0);\n if (scope.align)\n return scope.alignOffset - (closes ? 1 : 0);\n else\n return (closes ? scope.prev : scope).offset;\n },\n\n languageData: {\n commentTokens: {line: \"#\"}\n }\n};\n","function Context(indented, column, type, info, align, prev) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.info = info;\n this.align = align;\n this.prev = prev;\n}\nfunction pushContext(state, col, type, info) {\n var indent = state.indented;\n if (state.context && state.context.type == \"statement\" && type != \"statement\")\n indent = state.context.indented;\n return state.context = new Context(indent, col, type, info, null, state.context);\n}\nfunction popContext(state) {\n var t = state.context.type;\n if (t == \")\" || t == \"]\" || t == \"}\")\n state.indented = state.context.indented;\n return state.context = state.context.prev;\n}\n\nfunction typeBefore(stream, state, pos) {\n if (state.prevToken == \"variable\" || state.prevToken == \"type\") return true;\n if (/\\S(?:[^- ]>|[*\\]])\\s*$|\\*$/.test(stream.string.slice(0, pos))) return true;\n if (state.typeAtEndOfLine && stream.column() == stream.indentation()) return true;\n}\n\nfunction isTopScope(context) {\n for (;;) {\n if (!context || context.type == \"top\") return true;\n if (context.type == \"}\" && context.prev.info != \"namespace\") return false;\n context = context.prev;\n }\n}\n\nexport function clike(parserConfig) {\n var statementIndentUnit = parserConfig.statementIndentUnit,\n dontAlignCalls = parserConfig.dontAlignCalls,\n keywords = parserConfig.keywords || {},\n types = parserConfig.types || {},\n builtin = parserConfig.builtin || {},\n blockKeywords = parserConfig.blockKeywords || {},\n defKeywords = parserConfig.defKeywords || {},\n atoms = parserConfig.atoms || {},\n hooks = parserConfig.hooks || {},\n multiLineStrings = parserConfig.multiLineStrings,\n indentStatements = parserConfig.indentStatements !== false,\n indentSwitch = parserConfig.indentSwitch !== false,\n namespaceSeparator = parserConfig.namespaceSeparator,\n isPunctuationChar = parserConfig.isPunctuationChar || /[\\[\\]{}\\(\\),;\\:\\.]/,\n numberStart = parserConfig.numberStart || /[\\d\\.]/,\n number = parserConfig.number || /^(?:0x[a-f\\d]+|0b[01]+|(?:\\d+\\.?\\d*|\\.\\d+)(?:e[-+]?\\d+)?)(u|ll?|l|f)?/i,\n isOperatorChar = parserConfig.isOperatorChar || /[+\\-*&%=<>!?|\\/]/,\n isIdentifierChar = parserConfig.isIdentifierChar || /[\\w\\$_\\xa1-\\uffff]/,\n // An optional function that takes a {string} token and returns true if it\n // should be treated as a builtin.\n isReservedIdentifier = parserConfig.isReservedIdentifier || false;\n\n var curPunc, isDefKeyword;\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (hooks[ch]) {\n var result = hooks[ch](stream, state);\n if (result !== false) return result;\n }\n if (ch == '\"' || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n }\n if (numberStart.test(ch)) {\n stream.backUp(1)\n if (stream.match(number)) return \"number\"\n stream.next()\n }\n if (isPunctuationChar.test(ch)) {\n curPunc = ch;\n return null;\n }\n if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n }\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return \"comment\";\n }\n }\n if (isOperatorChar.test(ch)) {\n while (!stream.match(/^\\/[\\/*]/, false) && stream.eat(isOperatorChar)) {}\n return \"operator\";\n }\n stream.eatWhile(isIdentifierChar);\n if (namespaceSeparator) while (stream.match(namespaceSeparator))\n stream.eatWhile(isIdentifierChar);\n\n var cur = stream.current();\n if (contains(keywords, cur)) {\n if (contains(blockKeywords, cur)) curPunc = \"newstatement\";\n if (contains(defKeywords, cur)) isDefKeyword = true;\n return \"keyword\";\n }\n if (contains(types, cur)) return \"type\";\n if (contains(builtin, cur)\n || (isReservedIdentifier && isReservedIdentifier(cur))) {\n if (contains(blockKeywords, cur)) curPunc = \"newstatement\";\n return \"builtin\";\n }\n if (contains(atoms, cur)) return \"atom\";\n return \"variable\";\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next, end = false;\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) {end = true; break;}\n escaped = !escaped && next == \"\\\\\";\n }\n if (end || !(escaped || multiLineStrings))\n state.tokenize = null;\n return \"string\";\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = null;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return \"comment\";\n }\n\n function maybeEOL(stream, state) {\n if (parserConfig.typeFirstDefinitions && stream.eol() && isTopScope(state.context))\n state.typeAtEndOfLine = typeBefore(stream, state, stream.pos)\n }\n\n // Interface\n\n return {\n name: parserConfig.name,\n startState: function(indentUnit) {\n return {\n tokenize: null,\n context: new Context(-indentUnit, 0, \"top\", null, false),\n indented: 0,\n startOfLine: true,\n prevToken: null\n };\n },\n\n token: function(stream, state) {\n var ctx = state.context;\n if (stream.sol()) {\n if (ctx.align == null) ctx.align = false;\n state.indented = stream.indentation();\n state.startOfLine = true;\n }\n if (stream.eatSpace()) { maybeEOL(stream, state); return null; }\n curPunc = isDefKeyword = null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style == \"comment\" || style == \"meta\") return style;\n if (ctx.align == null) ctx.align = true;\n\n if (curPunc == \";\" || curPunc == \":\" || (curPunc == \",\" && stream.match(/^\\s*(?:\\/\\/.*)?$/, false)))\n while (state.context.type == \"statement\") popContext(state);\n else if (curPunc == \"{\") pushContext(state, stream.column(), \"}\");\n else if (curPunc == \"[\") pushContext(state, stream.column(), \"]\");\n else if (curPunc == \"(\") pushContext(state, stream.column(), \")\");\n else if (curPunc == \"}\") {\n while (ctx.type == \"statement\") ctx = popContext(state);\n if (ctx.type == \"}\") ctx = popContext(state);\n while (ctx.type == \"statement\") ctx = popContext(state);\n }\n else if (curPunc == ctx.type) popContext(state);\n else if (indentStatements &&\n (((ctx.type == \"}\" || ctx.type == \"top\") && curPunc != \";\") ||\n (ctx.type == \"statement\" && curPunc == \"newstatement\"))) {\n pushContext(state, stream.column(), \"statement\", stream.current());\n }\n\n if (style == \"variable\" &&\n ((state.prevToken == \"def\" ||\n (parserConfig.typeFirstDefinitions && typeBefore(stream, state, stream.start) &&\n isTopScope(state.context) && stream.match(/^\\s*\\(/, false)))))\n style = \"def\";\n\n if (hooks.token) {\n var result = hooks.token(stream, state, style);\n if (result !== undefined) style = result;\n }\n\n if (style == \"def\" && parserConfig.styleDefs === false) style = \"variable\";\n\n state.startOfLine = false;\n state.prevToken = isDefKeyword ? \"def\" : style || curPunc;\n maybeEOL(stream, state);\n return style;\n },\n\n indent: function(state, textAfter, context) {\n if (state.tokenize != tokenBase && state.tokenize != null || state.typeAtEndOfLine && isTopScope(state.context))\n return null;\n var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);\n var closing = firstChar == ctx.type;\n if (ctx.type == \"statement\" && firstChar == \"}\") ctx = ctx.prev;\n if (parserConfig.dontIndentStatements)\n while (ctx.type == \"statement\" && parserConfig.dontIndentStatements.test(ctx.info))\n ctx = ctx.prev\n if (hooks.indent) {\n var hook = hooks.indent(state, ctx, textAfter, context.unit);\n if (typeof hook == \"number\") return hook\n }\n var switchBlock = ctx.prev && ctx.prev.info == \"switch\";\n if (parserConfig.allmanIndentation && /[{(]/.test(firstChar)) {\n while (ctx.type != \"top\" && ctx.type != \"}\") ctx = ctx.prev\n return ctx.indented\n }\n if (ctx.type == \"statement\")\n return ctx.indented + (firstChar == \"{\" ? 0 : statementIndentUnit || context.unit);\n if (ctx.align && (!dontAlignCalls || ctx.type != \")\"))\n return ctx.column + (closing ? 0 : 1);\n if (ctx.type == \")\" && !closing)\n return ctx.indented + (statementIndentUnit || context.unit);\n\n return ctx.indented + (closing ? 0 : context.unit) +\n (!closing && switchBlock && !/^(?:case|default)\\b/.test(textAfter) ? context.unit : 0);\n },\n\n languageData: {\n indentOnInput: indentSwitch ? /^\\s*(?:case .*?:|default:|\\{\\}?|\\})$/ : /^\\s*[{}]$/,\n commentTokens: {line: \"//\", block: {open: \"/*\", close: \"*/\"}},\n autocomplete: Object.keys(keywords).concat(Object.keys(types)).concat(Object.keys(builtin)).concat(Object.keys(atoms)),\n ...parserConfig.languageData\n }\n };\n};\n\nfunction words(str) {\n var obj = {}, words = str.split(\" \");\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n return obj;\n}\nfunction contains(words, word) {\n if (typeof words === \"function\") {\n return words(word);\n } else {\n return words.propertyIsEnumerable(word);\n }\n}\nvar cKeywords = \"auto if break case register continue return default do sizeof \" +\n \"static else struct switch extern typedef union for goto while enum const \" +\n \"volatile inline restrict asm fortran\";\n\n// Keywords from https://en.cppreference.com/w/cpp/keyword includes C++20.\nvar cppKeywords = \"alignas alignof and and_eq audit axiom bitand bitor catch \" +\n \"class compl concept constexpr const_cast decltype delete dynamic_cast \" +\n \"explicit export final friend import module mutable namespace new noexcept \" +\n \"not not_eq operator or or_eq override private protected public \" +\n \"reinterpret_cast requires static_assert static_cast template this \" +\n \"thread_local throw try typeid typename using virtual xor xor_eq\";\n\nvar objCKeywords = \"bycopy byref in inout oneway out self super atomic nonatomic retain copy \" +\n \"readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd \" +\n \"@interface @implementation @end @protocol @encode @property @synthesize @dynamic @class \" +\n \"@public @package @private @protected @required @optional @try @catch @finally @import \" +\n \"@selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available\";\n\nvar objCBuiltins = \"FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION \" +\n \" NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER \" +\n \"NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION \" +\n \"NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT\"\n\n// Do not use this. Use the cTypes function below. This is global just to avoid\n// excessive calls when cTypes is being called multiple times during a parse.\nvar basicCTypes = words(\"int long char short double float unsigned signed \" +\n \"void bool\");\n\n// Do not use this. Use the objCTypes function below. This is global just to avoid\n// excessive calls when objCTypes is being called multiple times during a parse.\nvar basicObjCTypes = words(\"SEL instancetype id Class Protocol BOOL\");\n\n// Returns true if identifier is a \"C\" type.\n// C type is defined as those that are reserved by the compiler (basicTypes),\n// and those that end in _t (Reserved by POSIX for types)\n// http://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html\nfunction cTypes(identifier) {\n return contains(basicCTypes, identifier) || /.+_t$/.test(identifier);\n}\n\n// Returns true if identifier is a \"Objective C\" type.\nfunction objCTypes(identifier) {\n return cTypes(identifier) || contains(basicObjCTypes, identifier);\n}\n\nvar cBlockKeywords = \"case do else for if switch while struct enum union\";\nvar cDefKeywords = \"struct enum union\";\n\nfunction cppHook(stream, state) {\n if (!state.startOfLine) return false\n for (var ch, next = null; ch = stream.peek();) {\n if (ch == \"\\\\\" && stream.match(/^.$/)) {\n next = cppHook\n break\n } else if (ch == \"/\" && stream.match(/^\\/[\\/\\*]/, false)) {\n break\n }\n stream.next()\n }\n state.tokenize = next\n return \"meta\"\n}\n\nfunction pointerHook(_stream, state) {\n if (state.prevToken == \"type\") return \"type\";\n return false;\n}\n\n// For C and C++ (and ObjC): identifiers starting with __\n// or _ followed by a capital letter are reserved for the compiler.\nfunction cIsReservedIdentifier(token) {\n if (!token || token.length < 2) return false;\n if (token[0] != '_') return false;\n return (token[1] == '_') || (token[1] !== token[1].toLowerCase());\n}\n\nfunction cpp14Literal(stream) {\n stream.eatWhile(/[\\w\\.']/);\n return \"number\";\n}\n\nfunction cpp11StringHook(stream, state) {\n stream.backUp(1);\n // Raw strings.\n if (stream.match(/^(?:R|u8R|uR|UR|LR)/)) {\n var match = stream.match(/^\"([^\\s\\\\()]{0,16})\\(/);\n if (!match) {\n return false;\n }\n state.cpp11RawStringDelim = match[1];\n state.tokenize = tokenRawString;\n return tokenRawString(stream, state);\n }\n // Unicode strings/chars.\n if (stream.match(/^(?:u8|u|U|L)/)) {\n if (stream.match(/^[\"']/, /* eat */ false)) {\n return \"string\";\n }\n return false;\n }\n // Ignore this hook.\n stream.next();\n return false;\n}\n\nfunction cppLooksLikeConstructor(word) {\n var lastTwo = /(\\w+)::~?(\\w+)$/.exec(word);\n return lastTwo && lastTwo[1] == lastTwo[2];\n}\n\n// C#-style strings where \"\" escapes a quote.\nfunction tokenAtString(stream, state) {\n var next;\n while ((next = stream.next()) != null) {\n if (next == '\"' && !stream.eat('\"')) {\n state.tokenize = null;\n break;\n }\n }\n return \"string\";\n}\n\n// C++11 raw string literal is <prefix>\"<delim>( anything )<delim>\", where\n// <delim> can be a string up to 16 characters long.\nfunction tokenRawString(stream, state) {\n // Escape characters that have special regex meanings.\n var delim = state.cpp11RawStringDelim.replace(/[^\\w\\s]/g, '\\\\$&');\n var match = stream.match(new RegExp(\".*?\\\\)\" + delim + '\"'));\n if (match)\n state.tokenize = null;\n else\n stream.skipToEnd();\n return \"string\";\n}\n\nexport const c = clike({\n name: \"c\",\n keywords: words(cKeywords),\n types: cTypes,\n blockKeywords: words(cBlockKeywords),\n defKeywords: words(cDefKeywords),\n typeFirstDefinitions: true,\n atoms: words(\"NULL true false\"),\n isReservedIdentifier: cIsReservedIdentifier,\n hooks: {\n \"#\": cppHook,\n \"*\": pointerHook,\n }\n})\n\nexport const cpp = clike({\n name: \"cpp\",\n keywords: words(cKeywords + \" \" + cppKeywords),\n types: cTypes,\n blockKeywords: words(cBlockKeywords + \" class try catch\"),\n defKeywords: words(cDefKeywords + \" class namespace\"),\n typeFirstDefinitions: true,\n atoms: words(\"true false NULL nullptr\"),\n dontIndentStatements: /^template$/,\n isIdentifierChar: /[\\w\\$_~\\xa1-\\uffff]/,\n isReservedIdentifier: cIsReservedIdentifier,\n hooks: {\n \"#\": cppHook,\n \"*\": pointerHook,\n \"u\": cpp11StringHook,\n \"U\": cpp11StringHook,\n \"L\": cpp11StringHook,\n \"R\": cpp11StringHook,\n \"0\": cpp14Literal,\n \"1\": cpp14Literal,\n \"2\": cpp14Literal,\n \"3\": cpp14Literal,\n \"4\": cpp14Literal,\n \"5\": cpp14Literal,\n \"6\": cpp14Literal,\n \"7\": cpp14Literal,\n \"8\": cpp14Literal,\n \"9\": cpp14Literal,\n token: function(stream, state, style) {\n if (style == \"variable\" && stream.peek() == \"(\" &&\n (state.prevToken == \";\" || state.prevToken == null ||\n state.prevToken == \"}\") &&\n cppLooksLikeConstructor(stream.current()))\n return \"def\";\n }\n },\n namespaceSeparator: \"::\"\n});\n\nexport const java = clike({\n name: \"java\",\n keywords: words(\"abstract assert break case catch class const continue default \" +\n \"do else enum extends final finally for goto if implements import \" +\n \"instanceof interface native new package private protected public \" +\n \"return static strictfp super switch synchronized this throw throws transient \" +\n \"try volatile while @interface\"),\n types: words(\"var byte short int long float double boolean char void Boolean Byte Character Double Float \" +\n \"Integer Long Number Object Short String StringBuffer StringBuilder Void\"),\n blockKeywords: words(\"catch class do else finally for if switch try while\"),\n defKeywords: words(\"class interface enum @interface\"),\n typeFirstDefinitions: true,\n atoms: words(\"true false null\"),\n number: /^(?:0x[a-f\\d_]+|0b[01_]+|(?:[\\d_]+\\.?\\d*|\\.\\d+)(?:e[-+]?[\\d_]+)?)(u|ll?|l|f)?/i,\n hooks: {\n \"@\": function(stream) {\n // Don't match the @interface keyword.\n if (stream.match('interface', false)) return false;\n\n stream.eatWhile(/[\\w\\$_]/);\n return \"meta\";\n },\n '\"': function(stream, state) {\n if (!stream.match(/\"\"$/)) return false;\n state.tokenize = tokenTripleString;\n return state.tokenize(stream, state);\n }\n }\n})\n\nexport const csharp = clike({\n name: \"csharp\",\n keywords: words(\"abstract as async await base break case catch checked class const continue\" +\n \" default delegate do else enum event explicit extern finally fixed for\" +\n \" foreach goto if implicit in init interface internal is lock namespace new\" +\n \" operator out override params private protected public readonly record ref required return sealed\" +\n \" sizeof stackalloc static struct switch this throw try typeof unchecked\" +\n \" unsafe using virtual void volatile while add alias ascending descending dynamic from get\" +\n \" global group into join let orderby partial remove select set value var yield\"),\n types: words(\"Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func\" +\n \" Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32\" +\n \" UInt64 bool byte char decimal double short int long object\" +\n \" sbyte float string ushort uint ulong\"),\n blockKeywords: words(\"catch class do else finally for foreach if struct switch try while\"),\n defKeywords: words(\"class interface namespace record struct var\"),\n typeFirstDefinitions: true,\n atoms: words(\"true false null\"),\n hooks: {\n \"@\": function(stream, state) {\n if (stream.eat('\"')) {\n state.tokenize = tokenAtString;\n return tokenAtString(stream, state);\n }\n stream.eatWhile(/[\\w\\$_]/);\n return \"meta\";\n }\n }\n});\n\nfunction tokenTripleString(stream, state) {\n var escaped = false;\n while (!stream.eol()) {\n if (!escaped && stream.match('\"\"\"')) {\n state.tokenize = null;\n break;\n }\n escaped = stream.next() == \"\\\\\" && !escaped;\n }\n return \"string\";\n}\n\nfunction tokenNestedComment(depth) {\n return function (stream, state) {\n var ch\n while (ch = stream.next()) {\n if (ch == \"*\" && stream.eat(\"/\")) {\n if (depth == 1) {\n state.tokenize = null\n break\n } else {\n state.tokenize = tokenNestedComment(depth - 1)\n return state.tokenize(stream, state)\n }\n } else if (ch == \"/\" && stream.eat(\"*\")) {\n state.tokenize = tokenNestedComment(depth + 1)\n return state.tokenize(stream, state)\n }\n }\n return \"comment\"\n }\n}\n\nexport const scala = clike({\n name: \"scala\",\n keywords: words(\n /* scala */\n \"abstract case catch class def do else extends final finally for forSome if \" +\n \"implicit import lazy match new null object override package private protected return \" +\n \"sealed super this throw trait try type val var while with yield _ \" +\n\n /* package scala */\n \"assert assume require print println printf readLine readBoolean readByte readShort \" +\n \"readChar readInt readLong readFloat readDouble\"\n ),\n types: words(\n \"AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either \" +\n \"Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable \" +\n \"Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering \" +\n \"Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder \" +\n \"StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector \" +\n\n /* package java.lang */\n \"Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable \" +\n \"Compiler Double Exception Float Integer Long Math Number Object Package Pair Process \" +\n \"Runtime Runnable SecurityManager Short StackTraceElement StrictMath String \" +\n \"StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void\"\n ),\n multiLineStrings: true,\n blockKeywords: words(\"catch class enum do else finally for forSome if match switch try while\"),\n defKeywords: words(\"class enum def object package trait type val var\"),\n atoms: words(\"true false null\"),\n indentStatements: false,\n indentSwitch: false,\n isOperatorChar: /[+\\-*&%=<>!?|\\/#:@]/,\n hooks: {\n \"@\": function(stream) {\n stream.eatWhile(/[\\w\\$_]/);\n return \"meta\";\n },\n '\"': function(stream, state) {\n if (!stream.match('\"\"')) return false;\n state.tokenize = tokenTripleString;\n return state.tokenize(stream, state);\n },\n \"'\": function(stream) {\n if (stream.match(/^(\\\\[^'\\s]+|[^\\\\'])'/)) return \"character\"\n stream.eatWhile(/[\\w\\$_\\xa1-\\uffff]/);\n return \"atom\";\n },\n \"=\": function(stream, state) {\n var cx = state.context\n if (cx.type == \"}\" && cx.align && stream.eat(\">\")) {\n state.context = new Context(cx.indented, cx.column, cx.type, cx.info, null, cx.prev)\n return \"operator\"\n } else {\n return false\n }\n },\n\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false\n state.tokenize = tokenNestedComment(1)\n return state.tokenize(stream, state)\n }\n },\n languageData: {\n closeBrackets: {brackets: [\"(\", \"[\", \"{\", \"'\", '\"', '\"\"\"']}\n }\n});\n\nfunction tokenKotlinString(tripleString){\n return function (stream, state) {\n var escaped = false, next, end = false;\n while (!stream.eol()) {\n if (!tripleString && !escaped && stream.match('\"') ) {end = true; break;}\n if (tripleString && stream.match('\"\"\"')) {end = true; break;}\n next = stream.next();\n if(!escaped && next == \"$\" && stream.match('{'))\n stream.skipTo(\"}\");\n escaped = !escaped && next == \"\\\\\" && !tripleString;\n }\n if (end || !tripleString)\n state.tokenize = null;\n return \"string\";\n }\n}\n\nexport const kotlin = clike({\n name: \"kotlin\",\n keywords: words(\n /*keywords*/\n \"package as typealias class interface this super val operator \" +\n \"var fun for is in This throw return annotation \" +\n \"break continue object if else while do try when !in !is as? \" +\n\n /*soft keywords*/\n \"file import where by get set abstract enum open inner override private public internal \" +\n \"protected catch finally out final vararg reified dynamic companion constructor init \" +\n \"sealed field property receiver param sparam lateinit data inline noinline tailrec \" +\n \"external annotation crossinline const operator infix suspend actual expect setparam\"\n ),\n types: words(\n /* package java.lang */\n \"Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable \" +\n \"Compiler Double Exception Float Integer Long Math Number Object Package Pair Process \" +\n \"Runtime Runnable SecurityManager Short StackTraceElement StrictMath String \" +\n \"StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray \" +\n \"ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy \" +\n \"LazyThreadSafetyMode LongArray Nothing ShortArray Unit\"\n ),\n intendSwitch: false,\n indentStatements: false,\n multiLineStrings: true,\n number: /^(?:0x[a-f\\d_]+|0b[01_]+|(?:[\\d_]+(\\.\\d+)?|\\.\\d+)(?:e[-+]?[\\d_]+)?)(u|ll?|l|f)?/i,\n blockKeywords: words(\"catch class do else finally for if where try while enum\"),\n defKeywords: words(\"class val var object interface fun\"),\n atoms: words(\"true false null this\"),\n hooks: {\n \"@\": function(stream) {\n stream.eatWhile(/[\\w\\$_]/);\n return \"meta\";\n },\n '*': function(_stream, state) {\n return state.prevToken == '.' ? 'variable' : 'operator';\n },\n '\"': function(stream, state) {\n state.tokenize = tokenKotlinString(stream.match('\"\"'));\n return state.tokenize(stream, state);\n },\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenNestedComment(1);\n return state.tokenize(stream, state)\n },\n indent: function(state, ctx, textAfter, indentUnit) {\n var firstChar = textAfter && textAfter.charAt(0);\n if ((state.prevToken == \"}\" || state.prevToken == \")\") && textAfter == \"\")\n return state.indented;\n if ((state.prevToken == \"operator\" && textAfter != \"}\" && state.context.type != \"}\") ||\n state.prevToken == \"variable\" && firstChar == \".\" ||\n (state.prevToken == \"}\" || state.prevToken == \")\") && firstChar == \".\")\n return indentUnit * 2 + ctx.indented;\n if (ctx.align && ctx.type == \"}\")\n return ctx.indented + (state.context.type == (textAfter || \"\").charAt(0) ? 0 : indentUnit);\n }\n },\n languageData: {\n closeBrackets: {brackets: [\"(\", \"[\", \"{\", \"'\", '\"', '\"\"\"']}\n }\n});\n\nexport const shader = clike({\n name: \"shader\",\n keywords: words(\"sampler1D sampler2D sampler3D samplerCube \" +\n \"sampler1DShadow sampler2DShadow \" +\n \"const attribute uniform varying \" +\n \"break continue discard return \" +\n \"for while do if else struct \" +\n \"in out inout\"),\n types: words(\"float int bool void \" +\n \"vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 \" +\n \"mat2 mat3 mat4\"),\n blockKeywords: words(\"for while do if else struct\"),\n builtin: words(\"radians degrees sin cos tan asin acos atan \" +\n \"pow exp log exp2 sqrt inversesqrt \" +\n \"abs sign floor ceil fract mod min max clamp mix step smoothstep \" +\n \"length distance dot cross normalize ftransform faceforward \" +\n \"reflect refract matrixCompMult \" +\n \"lessThan lessThanEqual greaterThan greaterThanEqual \" +\n \"equal notEqual any all not \" +\n \"texture1D texture1DProj texture1DLod texture1DProjLod \" +\n \"texture2D texture2DProj texture2DLod texture2DProjLod \" +\n \"texture3D texture3DProj texture3DLod texture3DProjLod \" +\n \"textureCube textureCubeLod \" +\n \"shadow1D shadow2D shadow1DProj shadow2DProj \" +\n \"shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod \" +\n \"dFdx dFdy fwidth \" +\n \"noise1 noise2 noise3 noise4\"),\n atoms: words(\"true false \" +\n \"gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex \" +\n \"gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 \" +\n \"gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 \" +\n \"gl_FogCoord gl_PointCoord \" +\n \"gl_Position gl_PointSize gl_ClipVertex \" +\n \"gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor \" +\n \"gl_TexCoord gl_FogFragCoord \" +\n \"gl_FragCoord gl_FrontFacing \" +\n \"gl_FragData gl_FragDepth \" +\n \"gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix \" +\n \"gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse \" +\n \"gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse \" +\n \"gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose \" +\n \"gl_ProjectionMatrixInverseTranspose \" +\n \"gl_ModelViewProjectionMatrixInverseTranspose \" +\n \"gl_TextureMatrixInverseTranspose \" +\n \"gl_NormalScale gl_DepthRange gl_ClipPlane \" +\n \"gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel \" +\n \"gl_FrontLightModelProduct gl_BackLightModelProduct \" +\n \"gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ \" +\n \"gl_FogParameters \" +\n \"gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords \" +\n \"gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats \" +\n \"gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits \" +\n \"gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits \" +\n \"gl_MaxDrawBuffers\"),\n indentSwitch: false,\n hooks: {\"#\": cppHook}\n})\n\nexport const nesC = clike({\n name: \"nesc\",\n keywords: words(cKeywords + \" as atomic async call command component components configuration event generic \" +\n \"implementation includes interface module new norace nx_struct nx_union post provides \" +\n \"signal task uses abstract extends\"),\n types: cTypes,\n blockKeywords: words(cBlockKeywords),\n atoms: words(\"null true false\"),\n hooks: {\"#\": cppHook}\n})\n\nexport const objectiveC = clike({\n name: \"objectivec\",\n keywords: words(cKeywords + \" \" + objCKeywords),\n types: objCTypes,\n builtin: words(objCBuiltins),\n blockKeywords: words(cBlockKeywords + \" @synthesize @try @catch @finally @autoreleasepool @synchronized\"),\n defKeywords: words(cDefKeywords + \" @interface @implementation @protocol @class\"),\n dontIndentStatements: /^@.*$/,\n typeFirstDefinitions: true,\n atoms: words(\"YES NO NULL Nil nil true false nullptr\"),\n isReservedIdentifier: cIsReservedIdentifier,\n hooks: {\n \"#\": cppHook,\n \"*\": pointerHook,\n }\n})\n\nexport const objectiveCpp = clike({\n name: \"objectivecpp\",\n keywords: words(cKeywords + \" \" + objCKeywords + \" \" + cppKeywords),\n types: objCTypes,\n builtin: words(objCBuiltins),\n blockKeywords: words(cBlockKeywords + \" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch\"),\n defKeywords: words(cDefKeywords + \" @interface @implementation @protocol @class class namespace\"),\n dontIndentStatements: /^@.*$|^template$/,\n typeFirstDefinitions: true,\n atoms: words(\"YES NO NULL Nil nil true false nullptr\"),\n isReservedIdentifier: cIsReservedIdentifier,\n hooks: {\n \"#\": cppHook,\n \"*\": pointerHook,\n \"u\": cpp11StringHook,\n \"U\": cpp11StringHook,\n \"L\": cpp11StringHook,\n \"R\": cpp11StringHook,\n \"0\": cpp14Literal,\n \"1\": cpp14Literal,\n \"2\": cpp14Literal,\n \"3\": cpp14Literal,\n \"4\": cpp14Literal,\n \"5\": cpp14Literal,\n \"6\": cpp14Literal,\n \"7\": cpp14Literal,\n \"8\": cpp14Literal,\n \"9\": cpp14Literal,\n token: function(stream, state, style) {\n if (style == \"variable\" && stream.peek() == \"(\" &&\n (state.prevToken == \";\" || state.prevToken == null ||\n state.prevToken == \"}\") &&\n cppLooksLikeConstructor(stream.current()))\n return \"def\";\n }\n },\n namespaceSeparator: \"::\"\n})\n\nexport const squirrel = clike({\n name: \"squirrel\",\n keywords: words(\"base break clone continue const default delete enum extends function in class\" +\n \" foreach local resume return this throw typeof yield constructor instanceof static\"),\n types: cTypes,\n blockKeywords: words(\"case catch class else for foreach if switch try while\"),\n defKeywords: words(\"function local class\"),\n typeFirstDefinitions: true,\n atoms: words(\"true false null\"),\n hooks: {\"#\": cppHook}\n})\n\n// Ceylon Strings need to deal with interpolation\nvar stringTokenizer = null;\nfunction tokenCeylonString(type) {\n return function(stream, state) {\n var escaped = false, next, end = false;\n while (!stream.eol()) {\n if (!escaped && stream.match('\"') &&\n (type == \"single\" || stream.match('\"\"'))) {\n end = true;\n break;\n }\n if (!escaped && stream.match('``')) {\n stringTokenizer = tokenCeylonString(type);\n end = true;\n break;\n }\n next = stream.next();\n escaped = type == \"single\" && !escaped && next == \"\\\\\";\n }\n if (end)\n state.tokenize = null;\n return \"string\";\n }\n}\n\nexport const ceylon = clike({\n name: \"ceylon\",\n keywords: words(\"abstracts alias assembly assert assign break case catch class continue dynamic else\" +\n \" exists extends finally for function given if import in interface is let module new\" +\n \" nonempty object of out outer package return satisfies super switch then this throw\" +\n \" try value void while\"),\n types: function(word) {\n // In Ceylon all identifiers that start with an uppercase are types\n var first = word.charAt(0);\n return (first === first.toUpperCase() && first !== first.toLowerCase());\n },\n blockKeywords: words(\"case catch class dynamic else finally for function if interface module new object switch try while\"),\n defKeywords: words(\"class dynamic function interface module object package value\"),\n builtin: words(\"abstract actual aliased annotation by default deprecated doc final formal late license\" +\n \" native optional sealed see serializable shared suppressWarnings tagged throws variable\"),\n isPunctuationChar: /[\\[\\]{}\\(\\),;\\:\\.`]/,\n isOperatorChar: /[+\\-*&%=<>!?|^~:\\/]/,\n numberStart: /[\\d#$]/,\n number: /^(?:#[\\da-fA-F_]+|\\$[01_]+|[\\d_]+[kMGTPmunpf]?|[\\d_]+\\.[\\d_]+(?:[eE][-+]?\\d+|[kMGTPmunpf]|)|)/i,\n multiLineStrings: true,\n typeFirstDefinitions: true,\n atoms: words(\"true false null larger smaller equal empty finished\"),\n indentSwitch: false,\n styleDefs: false,\n hooks: {\n \"@\": function(stream) {\n stream.eatWhile(/[\\w\\$_]/);\n return \"meta\";\n },\n '\"': function(stream, state) {\n state.tokenize = tokenCeylonString(stream.match('\"\"') ? \"triple\" : \"single\");\n return state.tokenize(stream, state);\n },\n '`': function(stream, state) {\n if (!stringTokenizer || !stream.match('`')) return false;\n state.tokenize = stringTokenizer;\n stringTokenizer = null;\n return state.tokenize(stream, state);\n },\n \"'\": function(stream) {\n if (stream.match(/^(\\\\[^'\\s]+|[^\\\\'])'/)) return \"string.special\"\n stream.eatWhile(/[\\w\\$_\\xa1-\\uffff]/);\n return \"atom\";\n },\n token: function(_stream, state, style) {\n if ((style == \"variable\" || style == \"type\") &&\n state.prevToken == \".\") {\n return \"variableName.special\";\n }\n }\n },\n languageData: {\n closeBrackets: {brackets: [\"(\", \"[\", \"{\", \"'\", '\"', '\"\"\"']}\n }\n})\n\nfunction pushInterpolationStack(state) {\n (state.interpolationStack || (state.interpolationStack = [])).push(state.tokenize);\n}\n\nfunction popInterpolationStack(state) {\n return (state.interpolationStack || (state.interpolationStack = [])).pop();\n}\n\nfunction sizeInterpolationStack(state) {\n return state.interpolationStack ? state.interpolationStack.length : 0;\n}\n\nfunction tokenDartString(quote, stream, state, raw) {\n var tripleQuoted = false;\n if (stream.eat(quote)) {\n if (stream.eat(quote)) tripleQuoted = true;\n else return \"string\"; //empty string\n }\n function tokenStringHelper(stream, state) {\n var escaped = false;\n while (!stream.eol()) {\n if (!raw && !escaped && stream.peek() == \"$\") {\n pushInterpolationStack(state);\n state.tokenize = tokenInterpolation;\n return \"string\";\n }\n var next = stream.next();\n if (next == quote && !escaped && (!tripleQuoted || stream.match(quote + quote))) {\n state.tokenize = null;\n break;\n }\n escaped = !raw && !escaped && next == \"\\\\\";\n }\n return \"string\";\n }\n state.tokenize = tokenStringHelper;\n return tokenStringHelper(stream, state);\n}\n\nfunction tokenInterpolation(stream, state) {\n stream.eat(\"$\");\n if (stream.eat(\"{\")) {\n // let clike handle the content of ${...},\n // we take over again when \"}\" appears (see hooks).\n state.tokenize = null;\n } else {\n state.tokenize = tokenInterpolationIdentifier;\n }\n return null;\n}\n\nfunction tokenInterpolationIdentifier(stream, state) {\n stream.eatWhile(/[\\w_]/);\n state.tokenize = popInterpolationStack(state);\n return \"variable\";\n}\n\nexport const dart = clike({\n name: \"dart\",\n keywords: words(\"this super static final const abstract class extends external factory \" +\n \"implements mixin get native set typedef with enum throw rethrow assert break case \" +\n \"continue default in return new deferred async await covariant try catch finally \" +\n \"do else for if switch while import library export part of show hide is as extension \" +\n \"on yield late required sealed base interface when inline\"),\n blockKeywords: words(\"try catch finally do else for if switch while\"),\n builtin: words(\"void bool num int double dynamic var String Null Never\"),\n atoms: words(\"true false null\"),\n hooks: {\n \"@\": function(stream) {\n stream.eatWhile(/[\\w\\$_\\.]/);\n return \"meta\";\n },\n\n // custom string handling to deal with triple-quoted strings and string interpolation\n \"'\": function(stream, state) {\n return tokenDartString(\"'\", stream, state, false);\n },\n \"\\\"\": function(stream, state) {\n return tokenDartString(\"\\\"\", stream, state, false);\n },\n \"r\": function(stream, state) {\n var peek = stream.peek();\n if (peek == \"'\" || peek == \"\\\"\") {\n return tokenDartString(stream.next(), stream, state, true);\n }\n return false;\n },\n\n \"}\": function(_stream, state) {\n // \"}\" is end of interpolation, if interpolation stack is non-empty\n if (sizeInterpolationStack(state) > 0) {\n state.tokenize = popInterpolationStack(state);\n return null;\n }\n return false;\n },\n\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false\n state.tokenize = tokenNestedComment(1)\n return state.tokenize(stream, state)\n },\n token: function(stream, _, style) {\n if (style == \"variable\") {\n // Assume uppercase symbols are classes\n var isUpper = RegExp('^[_$]*[A-Z][a-zA-Z0-9_$]*$','g');\n if (isUpper.test(stream.current())) {\n return 'type';\n }\n }\n }\n }\n})\n","export function mkCSS(parserConfig) {\n parserConfig = {...defaults, ...parserConfig}\n var inline = parserConfig.inline\n\n var tokenHooks = parserConfig.tokenHooks,\n documentTypes = parserConfig.documentTypes || {},\n mediaTypes = parserConfig.mediaTypes || {},\n mediaFeatures = parserConfig.mediaFeatures || {},\n mediaValueKeywords = parserConfig.mediaValueKeywords || {},\n propertyKeywords = parserConfig.propertyKeywords || {},\n nonStandardPropertyKeywords = parserConfig.nonStandardPropertyKeywords || {},\n fontProperties = parserConfig.fontProperties || {},\n counterDescriptors = parserConfig.counterDescriptors || {},\n colorKeywords = parserConfig.colorKeywords || {},\n valueKeywords = parserConfig.valueKeywords || {},\n allowNested = parserConfig.allowNested,\n lineComment = parserConfig.lineComment,\n supportsAtComponent = parserConfig.supportsAtComponent === true,\n highlightNonStandardPropertyKeywords = parserConfig.highlightNonStandardPropertyKeywords !== false;\n\n var type, override;\n function ret(style, tp) { type = tp; return style; }\n\n // Tokenizers\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (tokenHooks[ch]) {\n var result = tokenHooks[ch](stream, state);\n if (result !== false) return result;\n }\n if (ch == \"@\") {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"def\", stream.current());\n } else if (ch == \"=\" || (ch == \"~\" || ch == \"|\") && stream.eat(\"=\")) {\n return ret(null, \"compare\");\n } else if (ch == \"\\\"\" || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \"#\") {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"atom\", \"hash\");\n } else if (ch == \"!\") {\n stream.match(/^\\s*\\w*/);\n return ret(\"keyword\", \"important\");\n } else if (/\\d/.test(ch) || ch == \".\" && stream.eat(/\\d/)) {\n stream.eatWhile(/[\\w.%]/);\n return ret(\"number\", \"unit\");\n } else if (ch === \"-\") {\n if (/[\\d.]/.test(stream.peek())) {\n stream.eatWhile(/[\\w.%]/);\n return ret(\"number\", \"unit\");\n } else if (stream.match(/^-[\\w\\\\\\-]*/)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n if (stream.match(/^\\s*:/, false))\n return ret(\"def\", \"variable-definition\");\n return ret(\"variableName\", \"variable\");\n } else if (stream.match(/^\\w+-/)) {\n return ret(\"meta\", \"meta\");\n }\n } else if (/[,+>*\\/]/.test(ch)) {\n return ret(null, \"select-op\");\n } else if (ch == \".\" && stream.match(/^-?[_a-z][_a-z0-9-]*/i)) {\n return ret(\"qualifier\", \"qualifier\");\n } else if (/[:;{}\\[\\]\\(\\)]/.test(ch)) {\n return ret(null, ch);\n } else if (stream.match(/^[\\w-.]+(?=\\()/)) {\n if (/^(url(-prefix)?|domain|regexp)$/i.test(stream.current())) {\n state.tokenize = tokenParenthesized;\n }\n return ret(\"variableName.function\", \"variable\");\n } else if (/[\\w\\\\\\-]/.test(ch)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"property\", \"word\");\n } else {\n return ret(null, null);\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, ch;\n while ((ch = stream.next()) != null) {\n if (ch == quote && !escaped) {\n if (quote == \")\") stream.backUp(1);\n break;\n }\n escaped = !escaped && ch == \"\\\\\";\n }\n if (ch == quote || !escaped && quote != \")\") state.tokenize = null;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenParenthesized(stream, state) {\n stream.next(); // Must be '('\n if (!stream.match(/^\\s*[\\\"\\')]/, false))\n state.tokenize = tokenString(\")\");\n else\n state.tokenize = null;\n return ret(null, \"(\");\n }\n\n // Context management\n\n function Context(type, indent, prev) {\n this.type = type;\n this.indent = indent;\n this.prev = prev;\n }\n\n function pushContext(state, stream, type, indent) {\n state.context = new Context(type, stream.indentation() + (indent === false ? 0 : stream.indentUnit), state.context);\n return type;\n }\n\n function popContext(state) {\n if (state.context.prev)\n state.context = state.context.prev;\n return state.context.type;\n }\n\n function pass(type, stream, state) {\n return states[state.context.type](type, stream, state);\n }\n function popAndPass(type, stream, state, n) {\n for (var i = n || 1; i > 0; i--)\n state.context = state.context.prev;\n return pass(type, stream, state);\n }\n\n // Parser\n\n function wordAsValue(stream) {\n var word = stream.current().toLowerCase();\n if (valueKeywords.hasOwnProperty(word))\n override = \"atom\";\n else if (colorKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else\n override = \"variable\";\n }\n\n var states = {};\n\n states.top = function(type, stream, state) {\n if (type == \"{\") {\n return pushContext(state, stream, \"block\");\n } else if (type == \"}\" && state.context.prev) {\n return popContext(state);\n } else if (supportsAtComponent && /@component/i.test(type)) {\n return pushContext(state, stream, \"atComponentBlock\");\n } else if (/^@(-moz-)?document$/i.test(type)) {\n return pushContext(state, stream, \"documentTypes\");\n } else if (/^@(media|supports|(-moz-)?document|import)$/i.test(type)) {\n return pushContext(state, stream, \"atBlock\");\n } else if (/^@(font-face|counter-style)/i.test(type)) {\n state.stateArg = type;\n return \"restricted_atBlock_before\";\n } else if (/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(type)) {\n return \"keyframes\";\n } else if (type && type.charAt(0) == \"@\") {\n return pushContext(state, stream, \"at\");\n } else if (type == \"hash\") {\n override = \"builtin\";\n } else if (type == \"word\") {\n override = \"tag\";\n } else if (type == \"variable-definition\") {\n return \"maybeprop\";\n } else if (type == \"interpolation\") {\n return pushContext(state, stream, \"interpolation\");\n } else if (type == \":\") {\n return \"pseudo\";\n } else if (allowNested && type == \"(\") {\n return pushContext(state, stream, \"parens\");\n }\n return state.context.type;\n };\n\n states.block = function(type, stream, state) {\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (propertyKeywords.hasOwnProperty(word)) {\n override = \"property\";\n return \"maybeprop\";\n } else if (nonStandardPropertyKeywords.hasOwnProperty(word)) {\n override = highlightNonStandardPropertyKeywords ? \"string.special\" : \"property\";\n return \"maybeprop\";\n } else if (allowNested) {\n override = stream.match(/^\\s*:(?:\\s|$)/, false) ? \"property\" : \"tag\";\n return \"block\";\n } else {\n override = \"error\";\n return \"maybeprop\";\n }\n } else if (type == \"meta\") {\n return \"block\";\n } else if (!allowNested && (type == \"hash\" || type == \"qualifier\")) {\n override = \"error\";\n return \"block\";\n } else {\n return states.top(type, stream, state);\n }\n };\n\n states.maybeprop = function(type, stream, state) {\n if (type == \":\") return pushContext(state, stream, \"prop\");\n return pass(type, stream, state);\n };\n\n states.prop = function(type, stream, state) {\n if (type == \";\") return popContext(state);\n if (type == \"{\" && allowNested) return pushContext(state, stream, \"propBlock\");\n if (type == \"}\" || type == \"{\") return popAndPass(type, stream, state);\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n\n if (type == \"hash\" && !/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(stream.current())) {\n override = \"error\";\n } else if (type == \"word\") {\n wordAsValue(stream);\n } else if (type == \"interpolation\") {\n return pushContext(state, stream, \"interpolation\");\n }\n return \"prop\";\n };\n\n states.propBlock = function(type, _stream, state) {\n if (type == \"}\") return popContext(state);\n if (type == \"word\") { override = \"property\"; return \"maybeprop\"; }\n return state.context.type;\n };\n\n states.parens = function(type, stream, state) {\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n if (type == \")\") return popContext(state);\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n if (type == \"word\") wordAsValue(stream);\n return \"parens\";\n };\n\n states.pseudo = function(type, stream, state) {\n if (type == \"meta\") return \"pseudo\";\n\n if (type == \"word\") {\n override = \"variableName.constant\";\n return state.context.type;\n }\n return pass(type, stream, state);\n };\n\n states.documentTypes = function(type, stream, state) {\n if (type == \"word\" && documentTypes.hasOwnProperty(stream.current())) {\n override = \"tag\";\n return state.context.type;\n } else {\n return states.atBlock(type, stream, state);\n }\n };\n\n states.atBlock = function(type, stream, state) {\n if (type == \"(\") return pushContext(state, stream, \"atBlock_parens\");\n if (type == \"}\" || type == \";\") return popAndPass(type, stream, state);\n if (type == \"{\") return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\");\n\n if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (word == \"only\" || word == \"not\" || word == \"and\" || word == \"or\")\n override = \"keyword\";\n else if (mediaTypes.hasOwnProperty(word))\n override = \"attribute\";\n else if (mediaFeatures.hasOwnProperty(word))\n override = \"property\";\n else if (mediaValueKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else if (propertyKeywords.hasOwnProperty(word))\n override = \"property\";\n else if (nonStandardPropertyKeywords.hasOwnProperty(word))\n override = highlightNonStandardPropertyKeywords ? \"string.special\" : \"property\";\n else if (valueKeywords.hasOwnProperty(word))\n override = \"atom\";\n else if (colorKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else\n override = \"error\";\n }\n return state.context.type;\n };\n\n states.atComponentBlock = function(type, stream, state) {\n if (type == \"}\")\n return popAndPass(type, stream, state);\n if (type == \"{\")\n return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\", false);\n if (type == \"word\")\n override = \"error\";\n return state.context.type;\n };\n\n states.atBlock_parens = function(type, stream, state) {\n if (type == \")\") return popContext(state);\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state, 2);\n return states.atBlock(type, stream, state);\n };\n\n states.restricted_atBlock_before = function(type, stream, state) {\n if (type == \"{\")\n return pushContext(state, stream, \"restricted_atBlock\");\n if (type == \"word\" && state.stateArg == \"@counter-style\") {\n override = \"variable\";\n return \"restricted_atBlock_before\";\n }\n return pass(type, stream, state);\n };\n\n states.restricted_atBlock = function(type, stream, state) {\n if (type == \"}\") {\n state.stateArg = null;\n return popContext(state);\n }\n if (type == \"word\") {\n if ((state.stateArg == \"@font-face\" && !fontProperties.hasOwnProperty(stream.current().toLowerCase())) ||\n (state.stateArg == \"@counter-style\" && !counterDescriptors.hasOwnProperty(stream.current().toLowerCase())))\n override = \"error\";\n else\n override = \"property\";\n return \"maybeprop\";\n }\n return \"restricted_atBlock\";\n };\n\n states.keyframes = function(type, stream, state) {\n if (type == \"word\") { override = \"variable\"; return \"keyframes\"; }\n if (type == \"{\") return pushContext(state, stream, \"top\");\n return pass(type, stream, state);\n };\n\n states.at = function(type, stream, state) {\n if (type == \";\") return popContext(state);\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n if (type == \"word\") override = \"tag\";\n else if (type == \"hash\") override = \"builtin\";\n return \"at\";\n };\n\n states.interpolation = function(type, stream, state) {\n if (type == \"}\") return popContext(state);\n if (type == \"{\" || type == \";\") return popAndPass(type, stream, state);\n if (type == \"word\") override = \"variable\";\n else if (type != \"variable\" && type != \"(\" && type != \")\") override = \"error\";\n return \"interpolation\";\n };\n\n return {\n name: parserConfig.name,\n startState: function() {\n return {tokenize: null,\n state: inline ? \"block\" : \"top\",\n stateArg: null,\n context: new Context(inline ? \"block\" : \"top\", 0, null)};\n },\n\n token: function(stream, state) {\n if (!state.tokenize && stream.eatSpace()) return null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style && typeof style == \"object\") {\n type = style[1];\n style = style[0];\n }\n override = style;\n if (type != \"comment\")\n state.state = states[state.state](type, stream, state);\n return override;\n },\n\n indent: function(state, textAfter, iCx) {\n var cx = state.context, ch = textAfter && textAfter.charAt(0);\n var indent = cx.indent;\n if (cx.type == \"prop\" && (ch == \"}\" || ch == \")\")) cx = cx.prev;\n if (cx.prev) {\n if (ch == \"}\" && (cx.type == \"block\" || cx.type == \"top\" ||\n cx.type == \"interpolation\" || cx.type == \"restricted_atBlock\")) {\n // Resume indentation from parent context.\n cx = cx.prev;\n indent = cx.indent;\n } else if (ch == \")\" && (cx.type == \"parens\" || cx.type == \"atBlock_parens\") ||\n ch == \"{\" && (cx.type == \"at\" || cx.type == \"atBlock\")) {\n // Dedent relative to current context.\n indent = Math.max(0, cx.indent - iCx.unit);\n }\n }\n return indent;\n },\n\n languageData: {\n indentOnInput: /^\\s*\\}$/,\n commentTokens: {line: lineComment, block: {open: \"/*\", close: \"*/\"}},\n autocomplete: allWords\n }\n };\n};\n\nfunction keySet(array) {\n var keys = {};\n for (var i = 0; i < array.length; ++i) {\n keys[array[i].toLowerCase()] = true;\n }\n return keys;\n}\n\nvar documentTypes_ = [\n \"domain\", \"regexp\", \"url\", \"url-prefix\"\n], documentTypes = keySet(documentTypes_);\n\nvar mediaTypes_ = [\n \"all\", \"aural\", \"braille\", \"handheld\", \"print\", \"projection\", \"screen\",\n \"tty\", \"tv\", \"embossed\"\n], mediaTypes = keySet(mediaTypes_);\n\nvar mediaFeatures_ = [\n \"width\", \"min-width\", \"max-width\", \"height\", \"min-height\", \"max-height\",\n \"device-width\", \"min-device-width\", \"max-device-width\", \"device-height\",\n \"min-device-height\", \"max-device-height\", \"aspect-ratio\",\n \"min-aspect-ratio\", \"max-aspect-ratio\", \"device-aspect-ratio\",\n \"min-device-aspect-ratio\", \"max-device-aspect-ratio\", \"color\", \"min-color\",\n \"max-color\", \"color-index\", \"min-color-index\", \"max-color-index\",\n \"monochrome\", \"min-monochrome\", \"max-monochrome\", \"resolution\",\n \"min-resolution\", \"max-resolution\", \"scan\", \"grid\", \"orientation\",\n \"device-pixel-ratio\", \"min-device-pixel-ratio\", \"max-device-pixel-ratio\",\n \"pointer\", \"any-pointer\", \"hover\", \"any-hover\", \"prefers-color-scheme\",\n \"dynamic-range\", \"video-dynamic-range\"\n], mediaFeatures = keySet(mediaFeatures_);\n\nvar mediaValueKeywords_ = [\n \"landscape\", \"portrait\", \"none\", \"coarse\", \"fine\", \"on-demand\", \"hover\",\n \"interlace\", \"progressive\",\n \"dark\", \"light\",\n \"standard\", \"high\"\n], mediaValueKeywords = keySet(mediaValueKeywords_);\n\nvar propertyKeywords_ = [\n \"align-content\", \"align-items\", \"align-self\", \"alignment-adjust\",\n \"alignment-baseline\", \"all\", \"anchor-point\", \"animation\", \"animation-delay\",\n \"animation-direction\", \"animation-duration\", \"animation-fill-mode\",\n \"animation-iteration-count\", \"animation-name\", \"animation-play-state\",\n \"animation-timing-function\", \"appearance\", \"azimuth\", \"backdrop-filter\",\n \"backface-visibility\", \"background\", \"background-attachment\",\n \"background-blend-mode\", \"background-clip\", \"background-color\",\n \"background-image\", \"background-origin\", \"background-position\",\n \"background-position-x\", \"background-position-y\", \"background-repeat\",\n \"background-size\", \"baseline-shift\", \"binding\", \"bleed\", \"block-size\",\n \"bookmark-label\", \"bookmark-level\", \"bookmark-state\", \"bookmark-target\",\n \"border\", \"border-bottom\", \"border-bottom-color\", \"border-bottom-left-radius\",\n \"border-bottom-right-radius\", \"border-bottom-style\", \"border-bottom-width\",\n \"border-collapse\", \"border-color\", \"border-image\", \"border-image-outset\",\n \"border-image-repeat\", \"border-image-slice\", \"border-image-source\",\n \"border-image-width\", \"border-left\", \"border-left-color\", \"border-left-style\",\n \"border-left-width\", \"border-radius\", \"border-right\", \"border-right-color\",\n \"border-right-style\", \"border-right-width\", \"border-spacing\", \"border-style\",\n \"border-top\", \"border-top-color\", \"border-top-left-radius\",\n \"border-top-right-radius\", \"border-top-style\", \"border-top-width\",\n \"border-width\", \"bottom\", \"box-decoration-break\", \"box-shadow\", \"box-sizing\",\n \"break-after\", \"break-before\", \"break-inside\", \"caption-side\", \"caret-color\",\n \"clear\", \"clip\", \"color\", \"color-profile\", \"column-count\", \"column-fill\",\n \"column-gap\", \"column-rule\", \"column-rule-color\", \"column-rule-style\",\n \"column-rule-width\", \"column-span\", \"column-width\", \"columns\", \"contain\",\n \"content\", \"counter-increment\", \"counter-reset\", \"crop\", \"cue\", \"cue-after\",\n \"cue-before\", \"cursor\", \"direction\", \"display\", \"dominant-baseline\",\n \"drop-initial-after-adjust\", \"drop-initial-after-align\",\n \"drop-initial-before-adjust\", \"drop-initial-before-align\", \"drop-initial-size\",\n \"drop-initial-value\", \"elevation\", \"empty-cells\", \"fit\", \"fit-content\", \"fit-position\",\n \"flex\", \"flex-basis\", \"flex-direction\", \"flex-flow\", \"flex-grow\",\n \"flex-shrink\", \"flex-wrap\", \"float\", \"float-offset\", \"flow-from\", \"flow-into\",\n \"font\", \"font-family\", \"font-feature-settings\", \"font-kerning\",\n \"font-language-override\", \"font-optical-sizing\", \"font-size\",\n \"font-size-adjust\", \"font-stretch\", \"font-style\", \"font-synthesis\",\n \"font-variant\", \"font-variant-alternates\", \"font-variant-caps\",\n \"font-variant-east-asian\", \"font-variant-ligatures\", \"font-variant-numeric\",\n \"font-variant-position\", \"font-variation-settings\", \"font-weight\", \"gap\",\n \"grid\", \"grid-area\", \"grid-auto-columns\", \"grid-auto-flow\", \"grid-auto-rows\",\n \"grid-column\", \"grid-column-end\", \"grid-column-gap\", \"grid-column-start\",\n \"grid-gap\", \"grid-row\", \"grid-row-end\", \"grid-row-gap\", \"grid-row-start\",\n \"grid-template\", \"grid-template-areas\", \"grid-template-columns\",\n \"grid-template-rows\", \"hanging-punctuation\", \"height\", \"hyphens\", \"icon\",\n \"image-orientation\", \"image-rendering\", \"image-resolution\", \"inline-box-align\",\n \"inset\", \"inset-block\", \"inset-block-end\", \"inset-block-start\", \"inset-inline\",\n \"inset-inline-end\", \"inset-inline-start\", \"isolation\", \"justify-content\",\n \"justify-items\", \"justify-self\", \"left\", \"letter-spacing\", \"line-break\",\n \"line-height\", \"line-height-step\", \"line-stacking\", \"line-stacking-ruby\",\n \"line-stacking-shift\", \"line-stacking-strategy\", \"list-style\",\n \"list-style-image\", \"list-style-position\", \"list-style-type\", \"margin\",\n \"margin-bottom\", \"margin-left\", \"margin-right\", \"margin-top\", \"marks\",\n \"marquee-direction\", \"marquee-loop\", \"marquee-play-count\", \"marquee-speed\",\n \"marquee-style\", \"mask-clip\", \"mask-composite\", \"mask-image\", \"mask-mode\",\n \"mask-origin\", \"mask-position\", \"mask-repeat\", \"mask-size\",\"mask-type\",\n \"max-block-size\", \"max-height\", \"max-inline-size\",\n \"max-width\", \"min-block-size\", \"min-height\", \"min-inline-size\", \"min-width\",\n \"mix-blend-mode\", \"move-to\", \"nav-down\", \"nav-index\", \"nav-left\", \"nav-right\",\n \"nav-up\", \"object-fit\", \"object-position\", \"offset\", \"offset-anchor\",\n \"offset-distance\", \"offset-path\", \"offset-position\", \"offset-rotate\",\n \"opacity\", \"order\", \"orphans\", \"outline\", \"outline-color\", \"outline-offset\",\n \"outline-style\", \"outline-width\", \"overflow\", \"overflow-style\",\n \"overflow-wrap\", \"overflow-x\", \"overflow-y\", \"padding\", \"padding-bottom\",\n \"padding-left\", \"padding-right\", \"padding-top\", \"page\", \"page-break-after\",\n \"page-break-before\", \"page-break-inside\", \"page-policy\", \"pause\",\n \"pause-after\", \"pause-before\", \"perspective\", \"perspective-origin\", \"pitch\",\n \"pitch-range\", \"place-content\", \"place-items\", \"place-self\", \"play-during\",\n \"position\", \"presentation-level\", \"punctuation-trim\", \"quotes\",\n \"region-break-after\", \"region-break-before\", \"region-break-inside\",\n \"region-fragment\", \"rendering-intent\", \"resize\", \"rest\", \"rest-after\",\n \"rest-before\", \"richness\", \"right\", \"rotate\", \"rotation\", \"rotation-point\",\n \"row-gap\", \"ruby-align\", \"ruby-overhang\", \"ruby-position\", \"ruby-span\",\n \"scale\", \"scroll-behavior\", \"scroll-margin\", \"scroll-margin-block\",\n \"scroll-margin-block-end\", \"scroll-margin-block-start\", \"scroll-margin-bottom\",\n \"scroll-margin-inline\", \"scroll-margin-inline-end\",\n \"scroll-margin-inline-start\", \"scroll-margin-left\", \"scroll-margin-right\",\n \"scroll-margin-top\", \"scroll-padding\", \"scroll-padding-block\",\n \"scroll-padding-block-end\", \"scroll-padding-block-start\",\n \"scroll-padding-bottom\", \"scroll-padding-inline\", \"scroll-padding-inline-end\",\n \"scroll-padding-inline-start\", \"scroll-padding-left\", \"scroll-padding-right\",\n \"scroll-padding-top\", \"scroll-snap-align\", \"scroll-snap-type\",\n \"shape-image-threshold\", \"shape-inside\", \"shape-margin\", \"shape-outside\",\n \"size\", \"speak\", \"speak-as\", \"speak-header\", \"speak-numeral\",\n \"speak-punctuation\", \"speech-rate\", \"stress\", \"string-set\", \"tab-size\",\n \"table-layout\", \"target\", \"target-name\", \"target-new\", \"target-position\",\n \"text-align\", \"text-align-last\", \"text-combine-upright\", \"text-decoration\",\n \"text-decoration-color\", \"text-decoration-line\", \"text-decoration-skip\",\n \"text-decoration-skip-ink\", \"text-decoration-style\", \"text-emphasis\",\n \"text-emphasis-color\", \"text-emphasis-position\", \"text-emphasis-style\",\n \"text-height\", \"text-indent\", \"text-justify\", \"text-orientation\",\n \"text-outline\", \"text-overflow\", \"text-rendering\", \"text-shadow\",\n \"text-size-adjust\", \"text-space-collapse\", \"text-transform\",\n \"text-underline-position\", \"text-wrap\", \"top\", \"touch-action\", \"transform\", \"transform-origin\",\n \"transform-style\", \"transition\", \"transition-delay\", \"transition-duration\",\n \"transition-property\", \"transition-timing-function\", \"translate\",\n \"unicode-bidi\", \"user-select\", \"vertical-align\", \"visibility\", \"voice-balance\",\n \"voice-duration\", \"voice-family\", \"voice-pitch\", \"voice-range\", \"voice-rate\",\n \"voice-stress\", \"voice-volume\", \"volume\", \"white-space\", \"widows\", \"width\",\n \"will-change\", \"word-break\", \"word-spacing\", \"word-wrap\", \"writing-mode\", \"z-index\",\n // SVG-specific\n \"clip-path\", \"clip-rule\", \"mask\", \"enable-background\", \"filter\", \"flood-color\",\n \"flood-opacity\", \"lighting-color\", \"stop-color\", \"stop-opacity\", \"pointer-events\",\n \"color-interpolation\", \"color-interpolation-filters\",\n \"color-rendering\", \"fill\", \"fill-opacity\", \"fill-rule\", \"image-rendering\",\n \"marker\", \"marker-end\", \"marker-mid\", \"marker-start\", \"paint-order\", \"shape-rendering\", \"stroke\",\n \"stroke-dasharray\", \"stroke-dashoffset\", \"stroke-linecap\", \"stroke-linejoin\",\n \"stroke-miterlimit\", \"stroke-opacity\", \"stroke-width\", \"text-rendering\",\n \"baseline-shift\", \"dominant-baseline\", \"glyph-orientation-horizontal\",\n \"glyph-orientation-vertical\", \"text-anchor\", \"writing-mode\",\n], propertyKeywords = keySet(propertyKeywords_);\n\nvar nonStandardPropertyKeywords_ = [\n \"accent-color\", \"aspect-ratio\", \"border-block\", \"border-block-color\", \"border-block-end\",\n \"border-block-end-color\", \"border-block-end-style\", \"border-block-end-width\",\n \"border-block-start\", \"border-block-start-color\", \"border-block-start-style\",\n \"border-block-start-width\", \"border-block-style\", \"border-block-width\",\n \"border-inline\", \"border-inline-color\", \"border-inline-end\",\n \"border-inline-end-color\", \"border-inline-end-style\",\n \"border-inline-end-width\", \"border-inline-start\", \"border-inline-start-color\",\n \"border-inline-start-style\", \"border-inline-start-width\",\n \"border-inline-style\", \"border-inline-width\", \"content-visibility\", \"margin-block\",\n \"margin-block-end\", \"margin-block-start\", \"margin-inline\", \"margin-inline-end\",\n \"margin-inline-start\", \"overflow-anchor\", \"overscroll-behavior\", \"padding-block\", \"padding-block-end\",\n \"padding-block-start\", \"padding-inline\", \"padding-inline-end\",\n \"padding-inline-start\", \"scroll-snap-stop\", \"scrollbar-3d-light-color\",\n \"scrollbar-arrow-color\", \"scrollbar-base-color\", \"scrollbar-dark-shadow-color\",\n \"scrollbar-face-color\", \"scrollbar-highlight-color\", \"scrollbar-shadow-color\",\n \"scrollbar-track-color\", \"searchfield-cancel-button\", \"searchfield-decoration\",\n \"searchfield-results-button\", \"searchfield-results-decoration\", \"shape-inside\", \"zoom\"\n], nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_);\n\nvar fontProperties_ = [\n \"font-display\", \"font-family\", \"src\", \"unicode-range\", \"font-variant\",\n \"font-feature-settings\", \"font-stretch\", \"font-weight\", \"font-style\"\n], fontProperties = keySet(fontProperties_);\n\nvar counterDescriptors_ = [\n \"additive-symbols\", \"fallback\", \"negative\", \"pad\", \"prefix\", \"range\",\n \"speak-as\", \"suffix\", \"symbols\", \"system\"\n], counterDescriptors = keySet(counterDescriptors_);\n\nvar colorKeywords_ = [\n \"aliceblue\", \"antiquewhite\", \"aqua\", \"aquamarine\", \"azure\", \"beige\",\n \"bisque\", \"black\", \"blanchedalmond\", \"blue\", \"blueviolet\", \"brown\",\n \"burlywood\", \"cadetblue\", \"chartreuse\", \"chocolate\", \"coral\", \"cornflowerblue\",\n \"cornsilk\", \"crimson\", \"cyan\", \"darkblue\", \"darkcyan\", \"darkgoldenrod\",\n \"darkgray\", \"darkgreen\", \"darkgrey\", \"darkkhaki\", \"darkmagenta\", \"darkolivegreen\",\n \"darkorange\", \"darkorchid\", \"darkred\", \"darksalmon\", \"darkseagreen\",\n \"darkslateblue\", \"darkslategray\", \"darkslategrey\", \"darkturquoise\", \"darkviolet\",\n \"deeppink\", \"deepskyblue\", \"dimgray\", \"dimgrey\", \"dodgerblue\", \"firebrick\",\n \"floralwhite\", \"forestgreen\", \"fuchsia\", \"gainsboro\", \"ghostwhite\",\n \"gold\", \"goldenrod\", \"gray\", \"grey\", \"green\", \"greenyellow\", \"honeydew\",\n \"hotpink\", \"indianred\", \"indigo\", \"ivory\", \"khaki\", \"lavender\",\n \"lavenderblush\", \"lawngreen\", \"lemonchiffon\", \"lightblue\", \"lightcoral\",\n \"lightcyan\", \"lightgoldenrodyellow\", \"lightgray\", \"lightgreen\", \"lightgrey\", \"lightpink\",\n \"lightsalmon\", \"lightseagreen\", \"lightskyblue\", \"lightslategray\", \"lightslategrey\",\n \"lightsteelblue\", \"lightyellow\", \"lime\", \"limegreen\", \"linen\", \"magenta\",\n \"maroon\", \"mediumaquamarine\", \"mediumblue\", \"mediumorchid\", \"mediumpurple\",\n \"mediumseagreen\", \"mediumslateblue\", \"mediumspringgreen\", \"mediumturquoise\",\n \"mediumvioletred\", \"midnightblue\", \"mintcream\", \"mistyrose\", \"moccasin\",\n \"navajowhite\", \"navy\", \"oldlace\", \"olive\", \"olivedrab\", \"orange\", \"orangered\",\n \"orchid\", \"palegoldenrod\", \"palegreen\", \"paleturquoise\", \"palevioletred\",\n \"papayawhip\", \"peachpuff\", \"peru\", \"pink\", \"plum\", \"powderblue\",\n \"purple\", \"rebeccapurple\", \"red\", \"rosybrown\", \"royalblue\", \"saddlebrown\",\n \"salmon\", \"sandybrown\", \"seagreen\", \"seashell\", \"sienna\", \"silver\", \"skyblue\",\n \"slateblue\", \"slategray\", \"slategrey\", \"snow\", \"springgreen\", \"steelblue\", \"tan\",\n \"teal\", \"thistle\", \"tomato\", \"turquoise\", \"violet\", \"wheat\", \"white\",\n \"whitesmoke\", \"yellow\", \"yellowgreen\"\n], colorKeywords = keySet(colorKeywords_);\n\nvar valueKeywords_ = [\n \"above\", \"absolute\", \"activeborder\", \"additive\", \"activecaption\", \"afar\",\n \"after-white-space\", \"ahead\", \"alias\", \"all\", \"all-scroll\", \"alphabetic\", \"alternate\",\n \"always\", \"amharic\", \"amharic-abegede\", \"antialiased\", \"appworkspace\",\n \"arabic-indic\", \"armenian\", \"asterisks\", \"attr\", \"auto\", \"auto-flow\", \"avoid\", \"avoid-column\", \"avoid-page\",\n \"avoid-region\", \"axis-pan\", \"background\", \"backwards\", \"baseline\", \"below\", \"bidi-override\", \"binary\",\n \"bengali\", \"blink\", \"block\", \"block-axis\", \"blur\", \"bold\", \"bolder\", \"border\", \"border-box\",\n \"both\", \"bottom\", \"break\", \"break-all\", \"break-word\", \"brightness\", \"bullets\", \"button\",\n \"buttonface\", \"buttonhighlight\", \"buttonshadow\", \"buttontext\", \"calc\", \"cambodian\",\n \"capitalize\", \"caps-lock-indicator\", \"caption\", \"captiontext\", \"caret\",\n \"cell\", \"center\", \"checkbox\", \"circle\", \"cjk-decimal\", \"cjk-earthly-branch\",\n \"cjk-heavenly-stem\", \"cjk-ideographic\", \"clear\", \"clip\", \"close-quote\",\n \"col-resize\", \"collapse\", \"color\", \"color-burn\", \"color-dodge\", \"column\", \"column-reverse\",\n \"compact\", \"condensed\", \"conic-gradient\", \"contain\", \"content\", \"contents\",\n \"content-box\", \"context-menu\", \"continuous\", \"contrast\", \"copy\", \"counter\", \"counters\", \"cover\", \"crop\",\n \"cross\", \"crosshair\", \"cubic-bezier\", \"currentcolor\", \"cursive\", \"cyclic\", \"darken\", \"dashed\", \"decimal\",\n \"decimal-leading-zero\", \"default\", \"default-button\", \"dense\", \"destination-atop\",\n \"destination-in\", \"destination-out\", \"destination-over\", \"devanagari\", \"difference\",\n \"disc\", \"discard\", \"disclosure-closed\", \"disclosure-open\", \"document\",\n \"dot-dash\", \"dot-dot-dash\",\n \"dotted\", \"double\", \"down\", \"drop-shadow\", \"e-resize\", \"ease\", \"ease-in\", \"ease-in-out\", \"ease-out\",\n \"element\", \"ellipse\", \"ellipsis\", \"embed\", \"end\", \"ethiopic\", \"ethiopic-abegede\",\n \"ethiopic-abegede-am-et\", \"ethiopic-abegede-gez\", \"ethiopic-abegede-ti-er\",\n \"ethiopic-abegede-ti-et\", \"ethiopic-halehame-aa-er\",\n \"ethiopic-halehame-aa-et\", \"ethiopic-halehame-am-et\",\n \"ethiopic-halehame-gez\", \"ethiopic-halehame-om-et\",\n \"ethiopic-halehame-sid-et\", \"ethiopic-halehame-so-et\",\n \"ethiopic-halehame-ti-er\", \"ethiopic-halehame-ti-et\", \"ethiopic-halehame-tig\",\n \"ethiopic-numeric\", \"ew-resize\", \"exclusion\", \"expanded\", \"extends\", \"extra-condensed\",\n \"extra-expanded\", \"fantasy\", \"fast\", \"fill\", \"fill-box\", \"fixed\", \"flat\", \"flex\", \"flex-end\", \"flex-start\", \"footnotes\",\n \"forwards\", \"from\", \"geometricPrecision\", \"georgian\", \"grayscale\", \"graytext\", \"grid\", \"groove\",\n \"gujarati\", \"gurmukhi\", \"hand\", \"hangul\", \"hangul-consonant\", \"hard-light\", \"hebrew\",\n \"help\", \"hidden\", \"hide\", \"higher\", \"highlight\", \"highlighttext\",\n \"hiragana\", \"hiragana-iroha\", \"horizontal\", \"hsl\", \"hsla\", \"hue\", \"hue-rotate\", \"icon\", \"ignore\",\n \"inactiveborder\", \"inactivecaption\", \"inactivecaptiontext\", \"infinite\",\n \"infobackground\", \"infotext\", \"inherit\", \"initial\", \"inline\", \"inline-axis\",\n \"inline-block\", \"inline-flex\", \"inline-grid\", \"inline-table\", \"inset\", \"inside\", \"intrinsic\", \"invert\",\n \"italic\", \"japanese-formal\", \"japanese-informal\", \"justify\", \"kannada\",\n \"katakana\", \"katakana-iroha\", \"keep-all\", \"khmer\",\n \"korean-hangul-formal\", \"korean-hanja-formal\", \"korean-hanja-informal\",\n \"landscape\", \"lao\", \"large\", \"larger\", \"left\", \"level\", \"lighter\", \"lighten\",\n \"line-through\", \"linear\", \"linear-gradient\", \"lines\", \"list-item\", \"listbox\", \"listitem\",\n \"local\", \"logical\", \"loud\", \"lower\", \"lower-alpha\", \"lower-armenian\",\n \"lower-greek\", \"lower-hexadecimal\", \"lower-latin\", \"lower-norwegian\",\n \"lower-roman\", \"lowercase\", \"ltr\", \"luminosity\", \"malayalam\", \"manipulation\", \"match\", \"matrix\", \"matrix3d\",\n \"media-play-button\", \"media-slider\", \"media-sliderthumb\",\n \"media-volume-slider\", \"media-volume-sliderthumb\", \"medium\",\n \"menu\", \"menulist\", \"menulist-button\",\n \"menutext\", \"message-box\", \"middle\", \"min-intrinsic\",\n \"mix\", \"mongolian\", \"monospace\", \"move\", \"multiple\", \"multiple_mask_images\", \"multiply\", \"myanmar\", \"n-resize\",\n \"narrower\", \"ne-resize\", \"nesw-resize\", \"no-close-quote\", \"no-drop\",\n \"no-open-quote\", \"no-repeat\", \"none\", \"normal\", \"not-allowed\", \"nowrap\",\n \"ns-resize\", \"numbers\", \"numeric\", \"nw-resize\", \"nwse-resize\", \"oblique\", \"octal\", \"opacity\", \"open-quote\",\n \"optimizeLegibility\", \"optimizeSpeed\", \"oriya\", \"oromo\", \"outset\",\n \"outside\", \"outside-shape\", \"overlay\", \"overline\", \"padding\", \"padding-box\",\n \"painted\", \"page\", \"paused\", \"persian\", \"perspective\", \"pinch-zoom\", \"plus-darker\", \"plus-lighter\",\n \"pointer\", \"polygon\", \"portrait\", \"pre\", \"pre-line\", \"pre-wrap\", \"preserve-3d\",\n \"progress\", \"push-button\", \"radial-gradient\", \"radio\", \"read-only\",\n \"read-write\", \"read-write-plaintext-only\", \"rectangle\", \"region\",\n \"relative\", \"repeat\", \"repeating-linear-gradient\", \"repeating-radial-gradient\",\n \"repeating-conic-gradient\", \"repeat-x\", \"repeat-y\", \"reset\", \"reverse\",\n \"rgb\", \"rgba\", \"ridge\", \"right\", \"rotate\", \"rotate3d\", \"rotateX\", \"rotateY\",\n \"rotateZ\", \"round\", \"row\", \"row-resize\", \"row-reverse\", \"rtl\", \"run-in\", \"running\",\n \"s-resize\", \"sans-serif\", \"saturate\", \"saturation\", \"scale\", \"scale3d\", \"scaleX\", \"scaleY\", \"scaleZ\", \"screen\",\n \"scroll\", \"scrollbar\", \"scroll-position\", \"se-resize\", \"searchfield\",\n \"searchfield-cancel-button\", \"searchfield-decoration\",\n \"searchfield-results-button\", \"searchfield-results-decoration\", \"self-start\", \"self-end\",\n \"semi-condensed\", \"semi-expanded\", \"separate\", \"sepia\", \"serif\", \"show\", \"sidama\",\n \"simp-chinese-formal\", \"simp-chinese-informal\", \"single\",\n \"skew\", \"skewX\", \"skewY\", \"skip-white-space\", \"slide\", \"slider-horizontal\",\n \"slider-vertical\", \"sliderthumb-horizontal\", \"sliderthumb-vertical\", \"slow\",\n \"small\", \"small-caps\", \"small-caption\", \"smaller\", \"soft-light\", \"solid\", \"somali\",\n \"source-atop\", \"source-in\", \"source-out\", \"source-over\", \"space\", \"space-around\", \"space-between\", \"space-evenly\", \"spell-out\", \"square\",\n \"square-button\", \"start\", \"static\", \"status-bar\", \"stretch\", \"stroke\", \"stroke-box\", \"sub\",\n \"subpixel-antialiased\", \"svg_masks\", \"super\", \"sw-resize\", \"symbolic\", \"symbols\", \"system-ui\", \"table\",\n \"table-caption\", \"table-cell\", \"table-column\", \"table-column-group\",\n \"table-footer-group\", \"table-header-group\", \"table-row\", \"table-row-group\",\n \"tamil\",\n \"telugu\", \"text\", \"text-bottom\", \"text-top\", \"textarea\", \"textfield\", \"thai\",\n \"thick\", \"thin\", \"threeddarkshadow\", \"threedface\", \"threedhighlight\",\n \"threedlightshadow\", \"threedshadow\", \"tibetan\", \"tigre\", \"tigrinya-er\",\n \"tigrinya-er-abegede\", \"tigrinya-et\", \"tigrinya-et-abegede\", \"to\", \"top\",\n \"trad-chinese-formal\", \"trad-chinese-informal\", \"transform\",\n \"translate\", \"translate3d\", \"translateX\", \"translateY\", \"translateZ\",\n \"transparent\", \"ultra-condensed\", \"ultra-expanded\", \"underline\", \"unidirectional-pan\", \"unset\", \"up\",\n \"upper-alpha\", \"upper-armenian\", \"upper-greek\", \"upper-hexadecimal\",\n \"upper-latin\", \"upper-norwegian\", \"upper-roman\", \"uppercase\", \"urdu\", \"url\",\n \"var\", \"vertical\", \"vertical-text\", \"view-box\", \"visible\", \"visibleFill\", \"visiblePainted\",\n \"visibleStroke\", \"visual\", \"w-resize\", \"wait\", \"wave\", \"wider\",\n \"window\", \"windowframe\", \"windowtext\", \"words\", \"wrap\", \"wrap-reverse\", \"x-large\", \"x-small\", \"xor\",\n \"xx-large\", \"xx-small\"\n], valueKeywords = keySet(valueKeywords_);\n\nvar allWords = documentTypes_.concat(mediaTypes_).concat(mediaFeatures_).concat(mediaValueKeywords_)\n .concat(propertyKeywords_).concat(nonStandardPropertyKeywords_).concat(colorKeywords_)\n .concat(valueKeywords_);\n\nexport const keywords = {properties: propertyKeywords_, colors: colorKeywords_,\n fonts: fontProperties_, values: valueKeywords_, all: allWords}\n\nconst defaults = {\n documentTypes: documentTypes,\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n fontProperties: fontProperties,\n counterDescriptors: counterDescriptors,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n tokenHooks: {\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n }\n}\n\nexport const css = mkCSS({name: \"css\"})\n\nfunction tokenCComment(stream, state) {\n var maybeEnd = false, ch;\n while ((ch = stream.next()) != null) {\n if (maybeEnd && ch == \"/\") {\n state.tokenize = null;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return [\"comment\", \"comment\"];\n}\n\nexport const sCSS = mkCSS({\n name: \"scss\",\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n fontProperties: fontProperties,\n allowNested: true,\n lineComment: \"//\",\n tokenHooks: {\n \"/\": function(stream, state) {\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n } else if (stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n } else {\n return [\"operator\", \"operator\"];\n }\n },\n \":\": function(stream) {\n if (stream.match(/^\\s*\\{/, false))\n return [null, null]\n return false;\n },\n \"$\": function(stream) {\n stream.match(/^[\\w-]+/);\n if (stream.match(/^\\s*:/, false))\n return [\"def\", \"variable-definition\"];\n return [\"variableName.special\", \"variable\"];\n },\n \"#\": function(stream) {\n if (!stream.eat(\"{\")) return false;\n return [null, \"interpolation\"];\n }\n }\n})\n\nexport const less = mkCSS({\n name: \"less\",\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n fontProperties: fontProperties,\n allowNested: true,\n lineComment: \"//\",\n tokenHooks: {\n \"/\": function(stream, state) {\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n } else if (stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n } else {\n return [\"operator\", \"operator\"];\n }\n },\n \"@\": function(stream) {\n if (stream.eat(\"{\")) return [null, \"interpolation\"];\n if (stream.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\\b/i, false)) return false;\n stream.eatWhile(/[\\w\\\\\\-]/);\n if (stream.match(/^\\s*:/, false))\n return [\"def\", \"variable-definition\"];\n return [\"variableName\", \"variable\"];\n },\n \"&\": function() {\n return [\"atom\", \"atom\"];\n }\n }\n})\n\nexport const gss = mkCSS({\n name: \"gss\",\n documentTypes: documentTypes,\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n fontProperties: fontProperties,\n counterDescriptors: counterDescriptors,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n supportsAtComponent: true,\n tokenHooks: {\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n }\n})\n","var keywords = {\n \"break\":true, \"case\":true, \"chan\":true, \"const\":true, \"continue\":true,\n \"default\":true, \"defer\":true, \"else\":true, \"fallthrough\":true, \"for\":true,\n \"func\":true, \"go\":true, \"goto\":true, \"if\":true, \"import\":true,\n \"interface\":true, \"map\":true, \"package\":true, \"range\":true, \"return\":true,\n \"select\":true, \"struct\":true, \"switch\":true, \"type\":true, \"var\":true,\n \"bool\":true, \"byte\":true, \"complex64\":true, \"complex128\":true,\n \"float32\":true, \"float64\":true, \"int8\":true, \"int16\":true, \"int32\":true,\n \"int64\":true, \"string\":true, \"uint8\":true, \"uint16\":true, \"uint32\":true,\n \"uint64\":true, \"int\":true, \"uint\":true, \"uintptr\":true, \"error\": true,\n \"rune\":true, \"any\":true, \"comparable\":true\n};\n\nvar atoms = {\n \"true\":true, \"false\":true, \"iota\":true, \"nil\":true, \"append\":true,\n \"cap\":true, \"close\":true, \"complex\":true, \"copy\":true, \"delete\":true, \"imag\":true,\n \"len\":true, \"make\":true, \"new\":true, \"panic\":true, \"print\":true,\n \"println\":true, \"real\":true, \"recover\":true\n};\n\nvar isOperatorChar = /[+\\-*&^%:=<>!|\\/]/;\n\nvar curPunc;\n\nfunction tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == '\"' || ch == \"'\" || ch == \"`\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n }\n if (/[\\d\\.]/.test(ch)) {\n if (ch == \".\") {\n stream.match(/^[0-9]+([eE][\\-+]?[0-9]+)?/);\n } else if (ch == \"0\") {\n stream.match(/^[xX][0-9a-fA-F]+/) || stream.match(/^0[0-7]+/);\n } else {\n stream.match(/^[0-9]*\\.?[0-9]*([eE][\\-+]?[0-9]+)?/);\n }\n return \"number\";\n }\n if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n curPunc = ch;\n return null;\n }\n if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n }\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return \"comment\";\n }\n }\n if (isOperatorChar.test(ch)) {\n stream.eatWhile(isOperatorChar);\n return \"operator\";\n }\n stream.eatWhile(/[\\w\\$_\\xa1-\\uffff]/);\n var cur = stream.current();\n if (keywords.propertyIsEnumerable(cur)) {\n if (cur == \"case\" || cur == \"default\") curPunc = \"case\";\n return \"keyword\";\n }\n if (atoms.propertyIsEnumerable(cur)) return \"atom\";\n return \"variable\";\n}\n\nfunction tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next, end = false;\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) {end = true; break;}\n escaped = !escaped && quote != \"`\" && next == \"\\\\\";\n }\n if (end || !(escaped || quote == \"`\"))\n state.tokenize = tokenBase;\n return \"string\";\n };\n}\n\nfunction tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return \"comment\";\n}\n\nfunction Context(indented, column, type, align, prev) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.align = align;\n this.prev = prev;\n}\nfunction pushContext(state, col, type) {\n return state.context = new Context(state.indented, col, type, null, state.context);\n}\nfunction popContext(state) {\n if (!state.context.prev) return;\n var t = state.context.type;\n if (t == \")\" || t == \"]\" || t == \"}\")\n state.indented = state.context.indented;\n return state.context = state.context.prev;\n}\n\n// Interface\n\nexport const go = {\n name: \"go\",\n startState: function(indentUnit) {\n return {\n tokenize: null,\n context: new Context(-indentUnit, 0, \"top\", false),\n indented: 0,\n startOfLine: true\n };\n },\n\n token: function(stream, state) {\n var ctx = state.context;\n if (stream.sol()) {\n if (ctx.align == null) ctx.align = false;\n state.indented = stream.indentation();\n state.startOfLine = true;\n if (ctx.type == \"case\") ctx.type = \"}\";\n }\n if (stream.eatSpace()) return null;\n curPunc = null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style == \"comment\") return style;\n if (ctx.align == null) ctx.align = true;\n\n if (curPunc == \"{\") pushContext(state, stream.column(), \"}\");\n else if (curPunc == \"[\") pushContext(state, stream.column(), \"]\");\n else if (curPunc == \"(\") pushContext(state, stream.column(), \")\");\n else if (curPunc == \"case\") ctx.type = \"case\";\n else if (curPunc == \"}\" && ctx.type == \"}\") popContext(state);\n else if (curPunc == ctx.type) popContext(state);\n state.startOfLine = false;\n return style;\n },\n\n indent: function(state, textAfter, cx) {\n if (state.tokenize != tokenBase && state.tokenize != null) return null;\n var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);\n if (ctx.type == \"case\" && /^(?:case|default)\\b/.test(textAfter)) return ctx.indented;\n var closing = firstChar == ctx.type;\n if (ctx.align) return ctx.column + (closing ? 0 : 1);\n else return ctx.indented + (closing ? 0 : cx.unit);\n },\n\n languageData: {\n indentOnInput: /^\\s([{}]|case |default\\s*:)$/,\n commentTokens: {line: \"//\", block: {open: \"/*\", close: \"*/\"}}\n }\n};\n\n","var words = {};\nfunction define(style, dict) {\n for(var i = 0; i < dict.length; i++) {\n words[dict[i]] = style;\n }\n};\n\nvar commonAtoms = [\"true\", \"false\"];\nvar commonKeywords = [\"if\", \"then\", \"do\", \"else\", \"elif\", \"while\", \"until\", \"for\", \"in\", \"esac\", \"fi\",\n \"fin\", \"fil\", \"done\", \"exit\", \"set\", \"unset\", \"export\", \"function\"];\nvar commonCommands = [\"ab\", \"awk\", \"bash\", \"beep\", \"cat\", \"cc\", \"cd\", \"chown\", \"chmod\", \"chroot\", \"clear\",\n \"cp\", \"curl\", \"cut\", \"diff\", \"echo\", \"find\", \"gawk\", \"gcc\", \"get\", \"git\", \"grep\", \"hg\", \"kill\", \"killall\",\n \"ln\", \"ls\", \"make\", \"mkdir\", \"openssl\", \"mv\", \"nc\", \"nl\", \"node\", \"npm\", \"ping\", \"ps\", \"restart\", \"rm\",\n \"rmdir\", \"sed\", \"service\", \"sh\", \"shopt\", \"shred\", \"source\", \"sort\", \"sleep\", \"ssh\", \"start\", \"stop\",\n \"su\", \"sudo\", \"svn\", \"tee\", \"telnet\", \"top\", \"touch\", \"vi\", \"vim\", \"wall\", \"wc\", \"wget\", \"who\", \"write\",\n \"yes\", \"zsh\"];\n\ndefine('atom', commonAtoms);\ndefine('keyword', commonKeywords);\ndefine('builtin', commonCommands);\n\nfunction tokenBase(stream, state) {\n if (stream.eatSpace()) return null;\n\n var sol = stream.sol();\n var ch = stream.next();\n\n if (ch === '\\\\') {\n stream.next();\n return null;\n }\n if (ch === '\\'' || ch === '\"' || ch === '`') {\n state.tokens.unshift(tokenString(ch, ch === \"`\" ? \"quote\" : \"string\"));\n return tokenize(stream, state);\n }\n if (ch === '#') {\n if (sol && stream.eat('!')) {\n stream.skipToEnd();\n return 'meta'; // 'comment'?\n }\n stream.skipToEnd();\n return 'comment';\n }\n if (ch === '$') {\n state.tokens.unshift(tokenDollar);\n return tokenize(stream, state);\n }\n if (ch === '+' || ch === '=') {\n return 'operator';\n }\n if (ch === '-') {\n stream.eat('-');\n stream.eatWhile(/\\w/);\n return 'attribute';\n }\n if (ch == \"<\") {\n if (stream.match(\"<<\")) return \"operator\"\n var heredoc = stream.match(/^<-?\\s*(?:['\"]([^'\"]*)['\"]|([^'\"\\s]*))/)\n if (heredoc) {\n state.tokens.unshift(tokenHeredoc(heredoc[1] || heredoc[2]))\n return 'string.special'\n }\n }\n if (/\\d/.test(ch)) {\n stream.eatWhile(/\\d/);\n if(stream.eol() || !/\\w/.test(stream.peek())) {\n return 'number';\n }\n }\n stream.eatWhile(/[\\w-]/);\n var cur = stream.current();\n if (stream.peek() === '=' && /\\w+/.test(cur)) return 'def';\n return words.hasOwnProperty(cur) ? words[cur] : null;\n}\n\nfunction tokenString(quote, style) {\n var close = quote == \"(\" ? \")\" : quote == \"{\" ? \"}\" : quote\n return function(stream, state) {\n var next, escaped = false;\n while ((next = stream.next()) != null) {\n if (next === close && !escaped) {\n state.tokens.shift();\n break;\n } else if (next === '$' && !escaped && quote !== \"'\" && stream.peek() != close) {\n escaped = true;\n stream.backUp(1);\n state.tokens.unshift(tokenDollar);\n break;\n } else if (!escaped && quote !== close && next === quote) {\n state.tokens.unshift(tokenString(quote, style))\n return tokenize(stream, state)\n } else if (!escaped && /['\"]/.test(next) && !/['\"]/.test(quote)) {\n state.tokens.unshift(tokenStringStart(next, \"string\"));\n stream.backUp(1);\n break;\n }\n escaped = !escaped && next === '\\\\';\n }\n return style;\n };\n};\n\nfunction tokenStringStart(quote, style) {\n return function(stream, state) {\n state.tokens[0] = tokenString(quote, style)\n stream.next()\n return tokenize(stream, state)\n }\n}\n\nvar tokenDollar = function(stream, state) {\n if (state.tokens.length > 1) stream.eat('$');\n var ch = stream.next()\n if (/['\"({]/.test(ch)) {\n state.tokens[0] = tokenString(ch, ch == \"(\" ? \"quote\" : ch == \"{\" ? \"def\" : \"string\");\n return tokenize(stream, state);\n }\n if (!/\\d/.test(ch)) stream.eatWhile(/\\w/);\n state.tokens.shift();\n return 'def';\n};\n\nfunction tokenHeredoc(delim) {\n return function(stream, state) {\n if (stream.sol() && stream.string == delim) state.tokens.shift()\n stream.skipToEnd()\n return \"string.special\"\n }\n}\n\nfunction tokenize(stream, state) {\n return (state.tokens[0] || tokenBase) (stream, state);\n};\n\nexport const shell = {\n name: \"shell\",\n startState: function() {return {tokens:[]};},\n token: function(stream, state) {\n return tokenize(stream, state);\n },\n languageData: {\n autocomplete: commonAtoms.concat(commonKeywords, commonCommands),\n closeBrackets: {brackets: [\"(\", \"[\", \"{\", \"'\", '\"', \"`\"]},\n commentTokens: {line: \"#\"}\n }\n};\n"],"names":["atoms","specialForms","coreSymbols","atom","createLookupMap","specialForm","coreSymbol","hasBodyParameter","delimiter","numberLiteral","characterLiteral","qualifiedSymbol","base","stream","state","eatSpace","eat","match","tokenize","inString","skipToEnd","matches","symbol","lastToken","inComment","is","charAt","next","eatWhile","c","escaped","parenthesisCount","backUp","words","obj","i","length","value","test","RegExp","Object","propertyIsEnumerable","clojure","name","startState","ctx","prev","start","indentTo","token","sol","typeStylePair","type","style","current","indentUnit","column","indent","languageData","closeBrackets","brackets","commentTokens","line","autocomplete","concat","ERRORCLASS","wordRegexp","join","operators","delimiters","identifiers","atProp","wordOperators","indentKeywords","keywords","stringPrefixes","regexPrefixes","constants","tokenBase","scope","align","scopeOffset","offset","lineOffset","indentation","dedent","ch","peek","longComment","floatLiteral","intLiteral","tokenFactory","prop","singleline","outclass","eol","alignOffset","_indent","matched","coffeeScript","fillAlign","delimiter_index","indexOf","slice","exec","tokenLexer","text","closer","closes","Context","indented","info","this","pushContext","col","context","popContext","t","typeBefore","pos","prevToken","string","typeAtEndOfLine","isTopScope","clike","parserConfig","curPunc","isDefKeyword","statementIndentUnit","dontAlignCalls","types","builtin","blockKeywords","defKeywords","hooks","multiLineStrings","indentStatements","indentSwitch","namespaceSeparator","isPunctuationChar","numberStart","number","isOperatorChar","isIdentifierChar","isReservedIdentifier","quote","result","end","tokenComment","cur","contains","maybeEnd","maybeEOL","typeFirstDefinitions","startOfLine","undefined","styleDefs","textAfter","firstChar","closing","dontIndentStatements","hook","unit","switchBlock","allmanIndentation","indentOnInput","block","open","close","keys","str","split","word","cKeywords","cppKeywords","objCKeywords","objCBuiltins","basicCTypes","basicObjCTypes","cTypes","identifier","objCTypes","cBlockKeywords","cDefKeywords","cppHook","pointerHook","_stream","cIsReservedIdentifier","toLowerCase","cpp14Literal","cpp11StringHook","cpp11RawStringDelim","tokenRawString","cppLooksLikeConstructor","lastTwo","tokenAtString","delim","replace","tokenTripleString","tokenNestedComment","depth","u","U","L","R","scala","cx","kotlin","tripleString","skipTo","stringTokenizer","tokenCeylonString","pushInterpolationStack","interpolationStack","push","popInterpolationStack","pop","tokenDartString","raw","tripleQuoted","tokenStringHelper","tokenInterpolation","tokenInterpolationIdentifier","first","toUpperCase","dart","r","sizeInterpolationStack","_","mkCSS","override","inline","defaults","tokenHooks","documentTypes","mediaTypes","mediaFeatures","mediaValueKeywords","propertyKeywords","nonStandardPropertyKeywords","fontProperties","counterDescriptors","colorKeywords","valueKeywords","allowNested","lineComment","supportsAtComponent","highlightNonStandardPropertyKeywords","ret","tp","tokenString","tokenParenthesized","pass","states","popAndPass","n","wordAsValue","hasOwnProperty","stateArg","top","atBlock","iCx","Math","max","allWords","keySet","array","documentTypes_","mediaTypes_","mediaFeatures_","mediaValueKeywords_","propertyKeywords_","nonStandardPropertyKeywords_","colorKeywords_","valueKeywords_","tokenCComment","css","$","gss","break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","var","bool","byte","complex64","complex128","float32","float64","int8","int16","int32","int64","uint8","uint16","uint32","uint64","int","uint","uintptr","error","rune","any","comparable","true","false","iota","nil","append","cap","complex","copy","delete","imag","len","make","new","panic","print","println","real","recover","define","dict","commonAtoms","commonKeywords","commonCommands","tokens","unshift","tokenDollar","heredoc","shift","tokenStringStart","shell"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{k as O,L as T,a as Q,b as a,i as e,f as S,c as l,g as r,E as t,s as o,t as i}from"./codemirror.js";const $=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288];function y(O){return O>=65&&O<=90||O>=97&&O<=122||O>=161}const X=new t((O,T)=>{if(40==O.next){let T=O.peek(-1);(y(T)||(Q=T)>=48&&Q<=57||95==T||45==T)&&O.acceptToken(2,1)}var Q}),P=new t(O=>{if($.indexOf(O.peek(-1))>-1){let{next:T}=O;(y(T)||95==T||35==T||46==T||91==T||58==T||45==T)&&O.acceptToken(110)}}),m=new t(O=>{if($.indexOf(O.peek(-1))<0){let{next:T}=O;if(37==T&&(O.advance(),O.acceptToken(1)),y(T)){do{O.advance()}while(y(O.next));O.acceptToken(1)}}}),n=o({"import charset namespace keyframes media supports when":i.definitionKeyword,"from to selector":i.keyword,NamespaceName:i.namespace,KeyframeName:i.labelName,TagName:i.tagName,ClassName:i.className,PseudoClassName:i.constant(i.className),IdName:i.labelName,"FeatureName PropertyName PropertyVariable":i.propertyName,AttributeName:i.attributeName,NumberLiteral:i.number,KeywordQuery:i.keyword,UnaryQueryOp:i.operatorKeyword,"CallTag ValueName":i.atom,VariableName:i.variableName,"AtKeyword Interpolation":i.special(i.variableName),Callee:i.operatorKeyword,Unit:i.unit,"UniversalSelector NestingSelector":i.definitionOperator,MatchOp:i.compareOperator,"ChildOp SiblingOp, LogicOp":i.logicOperator,BinOp:i.arithmeticOperator,Important:i.modifier,"Comment LineComment":i.blockComment,ColorLiteral:i.color,"ParenthesizedContent StringLiteral":i.string,Escape:i.special(i.string),": ...":i.punctuation,"PseudoOp #":i.derefOperator,"; ,":i.separator,"( )":i.paren,"[ ]":i.squareBracket,"{ }":i.brace}),c={__proto__:null,lang:40,"nth-child":40,"nth-last-child":40,"nth-of-type":40,"nth-last-of-type":40,dir:40,"host-context":40,and:244,or:244,not:74,only:74,url:86,"url-prefix":86,domain:86,regexp:86,when:117,selector:142,from:172,to:174},f={__proto__:null,"@import":126,"@plugin":126,"@media":152,"@charset":156,"@namespace":160,"@keyframes":166,"@supports":178},p=a.deserialize({version:14,states:"@^O!gQWOOO!nQaO'#CeOOQP'#Cd'#CdO$RQWO'#CgO$xQaO'#EaO%cQWO'#CiO%kQWO'#DZO%pQWO'#D^O%uQaO'#DfOOQP'#Es'#EsO'YQWO'#DlO'yQWO'#DyO(QQWO'#D{O(xQWO'#D}O)TQWO'#EQO'bQWO'#EWO)YQ`O'#FTO)]Q`O'#FTO)hQ`O'#FTO)vQWO'#EYOOQO'#Er'#ErOOQO'#FV'#FVOOQO'#Ec'#EcO){QWO'#EqO*WQWO'#EqQOQWOOOOQP'#Ch'#ChOOQP,59R,59RO$RQWO,59RO*bQWO'#EdO+PQWO,58|O+_QWO,59TO%kQWO,59uO%pQWO,59xO*bQWO,59{O*bQWO,59}OOQO'#De'#DeO*bQWO,5:OO,bQpO'#E}O,iQWO'#DkOOQO,58|,58|O(QQWO,58|O,pQWO,5:{OOQO,5:{,5:{OOQT'#Cl'#ClO-UQeO,59TO.cQ[O,59TOOQP'#D]'#D]OOQP,59u,59uOOQO'#D_'#D_O.hQpO,59xOOQO'#EZ'#EZO.pQ`O,5;oOOQO,5;o,5;oO/OQWO,5:WO/VQWO,5:WOOQS'#Dn'#DnO/rQWO'#DsO/yQ!fO'#FRO0eQWO'#DtOOQS'#FS'#FSO+YQWO,5:eO'bQWO'#DrOOQS'#Cu'#CuO(QQWO'#CwO0jQ!hO'#CyO2^Q!fO,5:gO2oQWO'#DWOOQS'#Ex'#ExO(QQWO'#DQOOQO'#EP'#EPO2tQWO,5:iO2yQWO,5:iOOQO'#ES'#ESO3RQWO,5:lO3WQ!fO,5:rO3iQ`O'#EkO.pQ`O,5;oOOQO,5:|,5:|O3zQWO,5:tOOQO,5:},5:}O4XQWO,5;]OOQO-E8a-E8aOOQP1G.m1G.mOOQP'#Ce'#CeO5RQaO,5;OOOQP'#Df'#DfOOQO-E8b-E8bOOQO1G.h1G.hO(QQWO1G.hO5fQWO1G.hO5nQeO1G.oO.cQ[O1G.oOOQP1G/a1G/aO6{QpO1G/dO7fQaO1G/gO8cQaO1G/iO9`QaO1G/jO:]Q!fO'#FOO:yQ!fO'#ExOOQO'#FO'#FOOOQO,5;i,5;iO<^QWO,5;iO<iQWO,5:VO<nQ!fO1G.hOOQO1G0g1G0gO=PQWO'#CnOOQP1G.o1G.oO=WQWO'#CqOOQP1G/d1G/dO(QQWO1G/dO=_Q`O1G1ZOOQO1G1Z1G1ZO=mQWO1G/rO=rQ!fO'#FQO>WQWO1G/rO>]Q!fO'#DnO>qQWO,5:ZO>vQ!fO,5:_OOQO'#DP'#DPO'bQWO,5:]O?XQWO'#DwOOQS,5:b,5:bO?`QWO,5:dO'bQWO'#EiO?gQWO,5;mO*bQWO,5:`OOQO1G0P1G0PO?uQ!fO,5:^O@aQ!fO,59cOOQS,59e,59eO(QQWO,59iOOQS,59n,59nO@rQWO,59pOOQO1G0R1G0RO@yQ#tO,59rOARQ!fO,59lOOQO1G0T1G0TOBrQWO1G0TOBwQWO'#ETOOQO1G0W1G0WOOQO1G0^1G0^OOQO,5;V,5;VOOQO-E8i-E8iOCVQ!fO1G0bOCvQWO1G0`O%kQWO'#E_O$RQWO'#E`OEZQWO'#E^OOQO1G0b1G0bPEkQWO'#EcO<nQ!fO7+$SOOQO7+$S7+$SO(QQWO7+$SOOQP7+$Z7+$ZOOQP7+%O7+%OO(QQWO7+%OOEpQ!fO'#EeOF}QWO,5;jO(QQWO,5;jOOQO,5;j,5;jO+gQpO'#EgOG[QWO1G1TOOQO1G1T1G1TOOQO1G/q1G/qOGgQaO'#EvOGnQWO,59YOGsQWO'#EwOG}QWO,59]OHSQ!fO7+%OOOQO7+&u7+&uOOQO7+%^7+%^O(QQWO'#EhOHeQWO,5;lOHmQWO7+%^O(QQWO1G/uOOQS1G/y1G/yOOQS1G/w1G/wOHrQWO,5:cOHwQ!fO1G0OOOQS1G0O1G0OOIYQ!fO,5;TOOQO-E8g-E8gOItQaO1G/zOOQS1G.}1G.}OOQS1G/T1G/TOI{Q!fO1G/[OOQS1G/[1G/[OJ^QWO1G/^OOQO7+%o7+%oOJcQYO'#CyO+YQWO'#EjOJkQWO,5:oOOQO,5:o,5:oOJyQ!fO'#ElO(QQWO'#ElOL^QWO7+%|OOQO7+%|7+%|OOQO7+%z7+%zOOQO,5:y,5:yOOQO,5:z,5:zOLqQaO,5:xOOQO,5:x,5:xOOQO<<Gn<<GnO<nQ!fO<<GnOMRQ!fO<<HjOOQO-E8c-E8cOMdQWO1G1UOOQO,5;R,5;ROOQO-E8e-E8eOOQO7+&o7+&oOMqQWO,5;bOOQP1G.t1G.tO(QQWO'#EfOMyQWO,5;cOOQT1G.w1G.wOOQP<<Hj<<HjONRQ!fO,5;SOOQO-E8f-E8fO/OQWO<<HxONgQWO7+%aOOQS1G/}1G/}OOQS7+%j7+%jOOQS7+%f7+%fOOQS7+$v7+$vOOQS7+$x7+$xOOQO,5;U,5;UOOQO-E8h-E8hOOQO1G0Z1G0ZONnQ!fO,5;WOOQO-E8j-E8jOOQO<<Ih<<IhOOQO1G0d1G0dOOQOAN=YAN=YOOQPAN>UAN>UO!!RQWO,5;QOOQO-E8d-E8dO!!]QWOAN>dOOQS<<H{<<H{OOQOG24OG24O",stateData:"!!n~O#dOSROSSOS~OVXOYXO^TO_TOfaOgbOoaOpWOyVO!OUO!aYO!nZO!p[O!r]O!u^O!{_O#hPO#iRO~O#a#eP~P]O^XX^!}X_XXcXXjXXp!}XyXX!OXX!UXX!ZXX![XX!^XX#PXX#aXX#bXX#iXX#oXX#pXX#p!}X#x!}X!]XX~O#hjO~O^oO_oOcmOyqO!OpO!UrO#bsO#ilO#otO#ptO~OjvO![yO!^wO#P{O!Z#TX#a#TX!]#TX~P$WOd!OO#h|O~O#h!PO~O#h!RO~O#h!TO#p!VO#x!VO^!YX^#wX_!YXc!YXj!YXy!YX!O!YX!U!YX!Z!YX![!YX!^!YX#P!YX#a!YX#b!YX#i!YX#o!YX#p!YX!]!YX~Oj!XOn!WO~Og!^Oj!ZOo!^Op!^Ou!`O!i!]O#h!YO~O!^#uP~P'bOf!fOg!fOh!fOj!bOl!fOn!fOo!fOp!fOu!gO{!eO#h!aO#m!cO~On!iO{!eO#h!hO~O#h!kO~Op!nO#p!VO#x!VO^#wX~OjvO#p!VO#x!VO^#wX~O^!qO~O!Z!rO#a#eX!]#eX~O#a#eX!]#eX~P]OVXOYXO^TO_TOp!xOyVO!OUO#h!vO#iRO~OcmOjvO![!{O!^wO~Od#OO#h|O~Of!fOg#VOh!fOj!bOl!fOn!fOo!fOp!fOu!gO{!eO#h!aO#m!cO#s#WO~Oa#XO~P+gO!]#eP~P]O![!{O!^wO#P#]O!Z#Ta#a#Ta!]#Ta~OQ#^O^]a_]ac]aj]ay]a!O]a!U]a!Z]a![]a!^]a#P]a#a]a#b]a#i]a#o]a#p]a!]]aa]a~OQ#`O~Ow#aO!S#bO~Op!nO#p#dO#x#dO^#wa~O!Z#uP~P'bOa#tP~P(QOg!^Oj!ZOo!^Op!^Ou!`O!i!]O~O#h#hO~P/^OQ#mOc#pOr#lOy#oO#n#kO!^#uX!Z#uXa#uX~Oj#rO~OP#vOQmXrmXymX!ZmX#nmX^mXamXcmXfmXgmXhmXjmXlmXnmXomXpmXumX{mX#hmX#mmX!^mX#PmX#amXwmX!]mX~OQ#`Or#wOy#yO!Z#zO#n#kO~Oj#{O~O!Z#}O~On$OO{!eO~O!^$PO~OQ#mOr#lOy#oO!^wO#n#kO~O#h!TO^#_Xp#_X#p#_X#x#_X~O!O$WO!^wO#i$XO~P(QO!Z!rO#a#ea!]#ea~O^oO_oOyqO!OpO!UrO#bsO#ilO#otO#ptO~Oc#Waj#Wa![#Wa!^#Waa#Wa~P4dO![$_O!^wO~OQ#^O^]i_]ic]ij]iy]i!O]i!U]i!Z]i![]i!^]i#P]i#a]i#b]i#i]i#o]i#p]i!]]ia]i~Ow$aO!S$bO~O^oO_oOyqO!OpO#ilO~Oc!Tij!Ti!U!Ti!Z!Ti![!Ti!^!Ti#P!Ti#a!Ti#b!Ti#o!Ti#p!Ti!]!Tia!Ti~P7TOc!Vij!Vi!U!Vi!Z!Vi![!Vi!^!Vi#P!Vi#a!Vi#b!Vi#o!Vi#p!Vi!]!Via!Vi~P7TOc!Wij!Wi!U!Wi!Z!Wi![!Wi!^!Wi#P!Wi#a!Wi#b!Wi#o!Wi#p!Wi!]!Wia!Wi~P7TOQ#`O^$eOr#wOy#yO#n#kOa#rXc#rX!Z#rX~P(QO#s$fOQ#lX^#lXa#lXc#lXf#lXg#lXh#lXj#lXl#lXn#lXo#lXp#lXr#lXu#lXy#lX{#lX!Z#lX#h#lX#m#lX#n#lX~Oa$iOc$gO!Z$gO~O!]$jO~OQ#`Or#wOy#yO!^wO#n#kO~Oa#jP~P*bOa#kP~P(QOp!nO#p$pO#x$pO^#wi~O!Z$qO~OQ#`Oc$rOr#wOy#yO#n#kOa#tX~Oa$tO~OQ!bX^!dXa!bXr!bXy!bX#n!bX~O^$uO~OQ#mOa$vOr#lOy#oO#n#kO~Oa#uP~P'bOw$zO~P(QOc#pO!^#ua!Z#uaa#ua~OQ#mOr#lOy#oO#n#kOc!fa!^!fa!Z!faa!fa~OQ#`Oa%OOr#wOy#yO#n#kO~Ow%RO~P(QOn%SO|%SO~OQ#`Or#wOy#yO#n#kO!Zta^taatactaftagtahtajtaltantaotaptauta{ta#hta#mta!^ta#Pta#atawta!]ta~O!Z%TO~O!]%XO!x%VO!y%VO#m%UO~OQ#`Oc%ZOr#wOy#yO#P%]O#n#kO!Z#Oi#a#Oi!]#Oi~P(QO!Z%^OV!|iY!|i^!|i_!|if!|ig!|io!|ip!|iy!|i!O!|i!a!|i!n!|i!p!|i!r!|i!u!|i!{!|i#a!|i#h!|i#i!|i!]!|i~OjvO!Z#QX#a#QX!]#QX~P*bO!Z!rO~OQ#`Or#wOy#yO#n#kOa#XXc#XXf#XXg#XXh#XXj#XXl#XXn#XXo#XXp#XXu#XX{#XX!Z#XX#h#XX#m#XX~Oa#rac#ra!Z#ra~P(QOa%jOc$gO!Z$gO~Oa#jX~P$WOa%lO~Oc%mOa#kX~P(QOa%oO~OQ#`Or#wOw%pOy#yO#n#kO~Oc$rOa#ta~On%sO~Oa%uO~OQ#`Or#wOw%vOy#yO#n#kO~OQ#mOr#lOy#oO#n#kOc#]a!^#]a!Z#]aa#]a~Oa%wO~P4dOQ#`Or#wOw%xOy#yO#n#kO~Oa%yO~OP#vO!^mX~O!]%|O!x%VO!y%VO#m%UO~OQ#`Or#wOy#yO#n#kOc#`Xf#`Xg#`Xh#`Xj#`Xl#`Xn#`Xo#`Xp#`Xu#`X{#`X!Z#`X#P#`X#a#`X#h#`X#m#`X!]#`X~Oc%ZO#P&PO!Z#Oq#a#Oq!]#Oq~P(QOjvO!Z#Qa#a#Qa!]#Qa~P4dOQ#`Or#wOw&SOy#yO#n#kO~Oa#ric#ri!Z#ri~P(QOcmOa#ja~Oc%mOa#ka~OQ#`Or#wOy#yO#n#kOa#[ac#[a~Oa&WO~P(QOQ#`Or#wOy#yO#n#kOc#`af#`ag#`ah#`aj#`al#`an#`ao#`ap#`au#`a{#`a!Z#`a#P#`a#a#`a#h#`a#m#`a!]#`a~Oa#Yac#Ya~P(QO!Z&XO~Of#dpg#m|#iRSRr~",goto:"0^#zPPPPPP#{P$Q$^P$Q$j$QPP$sP$yPP%PPPP%jP%jP&ZPPP%jP'O%jP%jP%jP'jPP$QP(a$Q(jP$QP$Q$Q(p$QPPPP(w#{P)f)f)q)f)f)f)fP)f)t)f#{P#{P#{P){#{P*O*RPP#{P#{*U*aP*f*i*i*a*a*l*s*}+e+k+q+w+},T,_PPPP,e,k,pPP-[-_-bPPPP.u/UP/[/_/k0QP0VVdOhweXOhmrsuw#^#r$YeQOhmrsuw#^#r$YQkRQ!ulR%`$XQ}TR!}oQ#_}R$`!}Q#_!Or#x!d#U#[#f#u#|$U$]$c$o$y%Q%Y%d%e%q%}R$`#O!]!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&T![!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&TT%V$P%WY#l![!m#j#t${s#w!d#U#[#f#u#|$U$]$c$o$y%Q%Y%d%e%q%}![!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&TQ!i]R$O!jQ!QUQ#PpR%_$WQ!SVR#QqZuS!w$k$}%aQxSS!znzQ#s!_Q$R!mQ$V!qS$^!|#[Q%c$]Q%z%VR&R%dc!^Z_!W!Z!`#l#m#p%sR#i!ZZ#n![!m#j#t${R!j]R!l^R$Q!lU`OhwQ!UWR$S!nVeOhwR$Z!qR$Y!qShOwR!thQnSS!yn%kR%k$kQ$d#UQ$m#`Y%f$d$m%g%t&TQ%g$eQ%t$uR&T%mQ%n$mR&U%nQ$h#YR%i$hQ$s#fR%r$sQ#q![R$|#qQ%W$PR%{%WQ!o`Q#c!UT$T!o#cQ%[$UR&O%[QiOR#ZwVfOhwUSOhwQ!wmQ#RrQ#SsQ#TuQ$k#^Q$}#rR%a$YR$l#^R$n#`Q!d[S#Uv$gQ#[yQ#f!XQ#u!bQ#|!gQ$U!qQ$]!{d$c#U#`$d$e$m$u%g%m%t&TQ$o#bQ$y#oQ%P#wQ%Q#yS%Y$U%[Q%d$_Q%e$bQ%q$rR%}%ZQzSQ!pbQ!|nQ%b$YR&Q%aQ#YvR%h$gR#g!XQ!_ZQ#e!WQ$x#mR&V%sW![Z!W#m%sQ!m_Q#j!ZQ#t!`Q$w#lR${#pVcOhwSgOwR!sh",nodeNames:"⚠ Unit ( Comment LineComment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName ) ArgList , PseudoClassName ArgList VariableName AtKeyword PropertyVariable ValueName ( ParenthesizedValue ColorLiteral NumberLiteral StringLiteral Escape Interpolation BinaryExpression BinOp LogicOp UnaryExpression UnaryQueryOp CallExpression ] SubscriptExpression [ CallLiteral CallTag ParenthesizedContent IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp InterpolatedSelector ; when } { Block ImportStatement import KeywordQuery FeatureQuery FeatureName BinaryQuery UnaryQuery ParenthesizedQuery SelectorQuery selector CallQuery ArgList SubscriptQuery MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList from to SupportsStatement supports DetachedRuleSet PropertyName Declaration Important Inclusion IdSelector ClassSelector Inclusion CallExpression",maxTerm:133,nodeProps:[["isolate",-3,3,4,30,""],["openedBy",17,"(",59,"{"],["closedBy",26,")",60,"}"]],propSources:[n],skippedNodes:[0,3,4],repeatNodeCount:10,tokenData:"!2q~R!ZOX$tX^%l^p$tpq%lqr)Ors-xst/ltu6Zuv$tvw8^wx:Uxy;syz<Uz{<Z{|<t|}BQ}!OBc!O!PDo!P!QFY!Q![Jw![!]Kr!]!^Ln!^!_MP!_!`M{!`!aNl!a!b$t!b!c! m!c!}!&R!}#O!'y#O#P$t#P#Q!([#Q#R!(m#R#T$t#T#o!&R#o#p!)S#p#q!(m#q#r!)e#r#s!)v#s#y$t#y#z%l#z$f$t$f$g%l$g#BY$t#BY#BZ%l#BZ$IS$t$IS$I_%l$I_$I|$t$I|$JO%l$JO$JT$t$JT$JU%l$JU$KV$t$KV$KW%l$KW&FU$t&FU&FV%l&FV;'S$t;'S;=`!2k<%lO$t`$wSOy%Tz;'S%T;'S;=`%f<%lO%T`%YS|`Oy%Tz;'S%T;'S;=`%f<%lO%T`%iP;=`<%l%T~%qh#d~OX%TX^']^p%Tpq']qy%Tz#y%T#y#z']#z$f%T$f$g']$g#BY%T#BY#BZ']#BZ$IS%T$IS$I_']$I_$I|%T$I|$JO']$JO$JT%T$JT$JU']$JU$KV%T$KV$KW']$KW&FU%T&FU&FV']&FV;'S%T;'S;=`%f<%lO%T~'dh#d~|`OX%TX^']^p%Tpq']qy%Tz#y%T#y#z']#z$f%T$f$g']$g#BY%T#BY#BZ']#BZ$IS%T$IS$I_']$I_$I|%T$I|$JO']$JO$JT%T$JT$JU']$JU$KV%T$KV$KW']$KW&FU%T&FU&FV']&FV;'S%T;'S;=`%f<%lO%Tk)RUOy%Tz#]%T#]#^)e#^;'S%T;'S;=`%f<%lO%Tk)jU|`Oy%Tz#a%T#a#b)|#b;'S%T;'S;=`%f<%lO%Tk*RU|`Oy%Tz#d%T#d#e*e#e;'S%T;'S;=`%f<%lO%Tk*jU|`Oy%Tz#c%T#c#d*|#d;'S%T;'S;=`%f<%lO%Tk+RU|`Oy%Tz#f%T#f#g+e#g;'S%T;'S;=`%f<%lO%Tk+jU|`Oy%Tz#h%T#h#i+|#i;'S%T;'S;=`%f<%lO%Tk,RU|`Oy%Tz#T%T#T#U,e#U;'S%T;'S;=`%f<%lO%Tk,jU|`Oy%Tz#b%T#b#c,|#c;'S%T;'S;=`%f<%lO%Tk-RU|`Oy%Tz#h%T#h#i-e#i;'S%T;'S;=`%f<%lO%Tk-lS#PZ|`Oy%Tz;'S%T;'S;=`%f<%lO%T~-{WOY-xZr-xrs.es#O-x#O#P.j#P;'S-x;'S;=`/f<%lO-x~.jOn~~.mRO;'S-x;'S;=`.v;=`O-x~.yXOY-xZr-xrs.es#O-x#O#P.j#P;'S-x;'S;=`/f;=`<%l-x<%lO-x~/iP;=`<%l-xo/qY!OROy%Tz!Q%T!Q![0a![!c%T!c!i0a!i#T%T#T#Z0a#Z;'S%T;'S;=`%f<%lO%Tm0fY|`Oy%Tz!Q%T!Q![1U![!c%T!c!i1U!i#T%T#T#Z1U#Z;'S%T;'S;=`%f<%lO%Tm1ZY|`Oy%Tz!Q%T!Q![1y![!c%T!c!i1y!i#T%T#T#Z1y#Z;'S%T;'S;=`%f<%lO%Tm2QYl]|`Oy%Tz!Q%T!Q![2p![!c%T!c!i2p!i#T%T#T#Z2p#Z;'S%T;'S;=`%f<%lO%Tm2wYl]|`Oy%Tz!Q%T!Q![3g![!c%T!c!i3g!i#T%T#T#Z3g#Z;'S%T;'S;=`%f<%lO%Tm3lY|`Oy%Tz!Q%T!Q![4[![!c%T!c!i4[!i#T%T#T#Z4[#Z;'S%T;'S;=`%f<%lO%Tm4cYl]|`Oy%Tz!Q%T!Q![5R![!c%T!c!i5R!i#T%T#T#Z5R#Z;'S%T;'S;=`%f<%lO%Tm5WY|`Oy%Tz!Q%T!Q![5v![!c%T!c!i5v!i#T%T#T#Z5v#Z;'S%T;'S;=`%f<%lO%Tm5}Sl]|`Oy%Tz;'S%T;'S;=`%f<%lO%Tm6^YOy%Tz!_%T!_!`6|!`!c%T!c!}7a!}#T%T#T#o7a#o;'S%T;'S;=`%f<%lO%Td7TS!SS|`Oy%Tz;'S%T;'S;=`%f<%lO%Tm7h[h]|`Oy%Tz}%T}!O7a!O!Q%T!Q![7a![!c%T!c!}7a!}#T%T#T#o7a#o;'S%T;'S;=`%f<%lO%Ta8c[YPOy%Tz}%T}!O9X!O!Q%T!Q![9X![!c%T!c!}9X!}#T%T#T#o9X#o;'S%T;'S;=`%f<%lO%Ta9`[YP|`Oy%Tz}%T}!O9X!O!Q%T!Q![9X![!c%T!c!}9X!}#T%T#T#o9X#o;'S%T;'S;=`%f<%lO%T~:XWOY:UZw:Uwx.ex#O:U#O#P:q#P;'S:U;'S;=`;m<%lO:U~:tRO;'S:U;'S;=`:};=`O:U~;QXOY:UZw:Uwx.ex#O:U#O#P:q#P;'S:U;'S;=`;m;=`<%l:U<%lO:U~;pP;=`<%l:Uo;xSj_Oy%Tz;'S%T;'S;=`%f<%lO%T~<ZOa~m<bUVPrWOy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%To<{Y#pQrWOy%Tz!O%T!O!P=k!P!Q%T!Q![@p![#R%T#R#SAm#S;'S%T;'S;=`%f<%lO%Tm=pU|`Oy%Tz!Q%T!Q![>S![;'S%T;'S;=`%f<%lO%Tm>ZY#m]|`Oy%Tz!Q%T!Q![>S![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%Tm?OY|`Oy%Tz{%T{|?n|}%T}!O?n!O!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm?sU|`Oy%Tz!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm@^U#m]|`Oy%Tz!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm@w[#m]|`Oy%Tz!O%T!O!P>S!P!Q%T!Q![@p![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%TbAtS#xQ|`Oy%Tz;'S%T;'S;=`%f<%lO%TkBVScZOy%Tz;'S%T;'S;=`%f<%lO%TmBhXrWOy%Tz}%T}!OCT!O!P=k!P!Q%T!Q![@p![;'S%T;'S;=`%f<%lO%TmCYW|`Oy%Tz!c%T!c!}Cr!}#T%T#T#oCr#o;'S%T;'S;=`%f<%lO%TmCy[f]|`Oy%Tz}%T}!OCr!O!Q%T!Q![Cr![!c%T!c!}Cr!}#T%T#T#oCr#o;'S%T;'S;=`%f<%lO%ToDtW#iROy%Tz!O%T!O!PE^!P!Q%T!Q![>S![;'S%T;'S;=`%f<%lO%TlEcU|`Oy%Tz!O%T!O!PEu!P;'S%T;'S;=`%f<%lO%TlE|S#s[|`Oy%Tz;'S%T;'S;=`%f<%lO%T~F_VrWOy%Tz{Ft{!P%T!P!QIl!Q;'S%T;'S;=`%f<%lO%T~FyU|`OyFtyzG]z{Hd{;'SFt;'S;=`If<%lOFt~G`TOzG]z{Go{;'SG];'S;=`H^<%lOG]~GrVOzG]z{Go{!PG]!P!QHX!Q;'SG];'S;=`H^<%lOG]~H^OR~~HaP;=`<%lG]~HiW|`OyFtyzG]z{Hd{!PFt!P!QIR!Q;'SFt;'S;=`If<%lOFt~IYS|`R~Oy%Tz;'S%T;'S;=`%f<%lO%T~IiP;=`<%lFt~IsV|`S~OYIlYZ%TZyIlyzJYz;'SIl;'S;=`Jq<%lOIl~J_SS~OYJYZ;'SJY;'S;=`Jk<%lOJY~JnP;=`<%lJY~JtP;=`<%lIlmJ|[#m]Oy%Tz!O%T!O!P>S!P!Q%T!Q![@p![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%TkKwU^ZOy%Tz![%T![!]LZ!];'S%T;'S;=`%f<%lO%TcLbS_R|`Oy%Tz;'S%T;'S;=`%f<%lO%TkLsS!ZZOy%Tz;'S%T;'S;=`%f<%lO%ThMUUrWOy%Tz!_%T!_!`Mh!`;'S%T;'S;=`%f<%lO%ThMoS|`rWOy%Tz;'S%T;'S;=`%f<%lO%TlNSW!SSrWOy%Tz!^%T!^!_Mh!_!`%T!`!aMh!a;'S%T;'S;=`%f<%lO%TjNsV!UQrWOy%Tz!_%T!_!`Mh!`!a! Y!a;'S%T;'S;=`%f<%lO%Tb! aS!UQ|`Oy%Tz;'S%T;'S;=`%f<%lO%To! rYg]Oy%Tz!b%T!b!c!!b!c!}!#R!}#T%T#T#o!#R#o#p!$O#p;'S%T;'S;=`%f<%lO%Tm!!iWg]|`Oy%Tz!c%T!c!}!#R!}#T%T#T#o!#R#o;'S%T;'S;=`%f<%lO%Tm!#Y[g]|`Oy%Tz}%T}!O!#R!O!Q%T!Q![!#R![!c%T!c!}!#R!}#T%T#T#o!#R#o;'S%T;'S;=`%f<%lO%To!$TW|`Oy%Tz!c%T!c!}!$m!}#T%T#T#o!$m#o;'S%T;'S;=`%f<%lO%To!$r^|`Oy%Tz}%T}!O!$m!O!Q%T!Q![!$m![!c%T!c!}!$m!}#T%T#T#o!$m#o#q%T#q#r!%n#r;'S%T;'S;=`%f<%lO%To!%uSp_|`Oy%Tz;'S%T;'S;=`%f<%lO%To!&W[#h_Oy%Tz}%T}!O!&|!O!Q%T!Q![!&|![!c%T!c!}!&|!}#T%T#T#o!&|#o;'S%T;'S;=`%f<%lO%To!'T[#h_|`Oy%Tz}%T}!O!&|!O!Q%T!Q![!&|![!c%T!c!}!&|!}#T%T#T#o!&|#o;'S%T;'S;=`%f<%lO%Tk!(OSyZOy%Tz;'S%T;'S;=`%f<%lO%Tm!(aSw]Oy%Tz;'S%T;'S;=`%f<%lO%Td!(pUOy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%Tk!)XS!^ZOy%Tz;'S%T;'S;=`%f<%lO%Tk!)jS!]ZOy%Tz;'S%T;'S;=`%f<%lO%To!){Y#oQOr%Trs!*ksw%Twx!.wxy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%Tm!*pZ|`OY!*kYZ%TZr!*krs!+csy!*kyz!+vz#O!*k#O#P!-j#P;'S!*k;'S;=`!.q<%lO!*km!+jSo]|`Oy%Tz;'S%T;'S;=`%f<%lO%T]!+yWOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d<%lO!+v]!,hOo]]!,kRO;'S!+v;'S;=`!,t;=`O!+v]!,wXOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d;=`<%l!+v<%lO!+v]!-gP;=`<%l!+vm!-oU|`Oy!*kyz!+vz;'S!*k;'S;=`!.R;=`<%l!+v<%lO!*km!.UXOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d;=`<%l!*k<%lO!+vm!.tP;=`<%l!*km!.|Z|`OY!.wYZ%TZw!.wwx!+cxy!.wyz!/oz#O!.w#O#P!1^#P;'S!.w;'S;=`!2e<%lO!.w]!/rWOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W<%lO!/o]!0_RO;'S!/o;'S;=`!0h;=`O!/o]!0kXOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W;=`<%l!/o<%lO!/o]!1ZP;=`<%l!/om!1cU|`Oy!.wyz!/oz;'S!.w;'S;=`!1u;=`<%l!/o<%lO!.wm!1xXOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W;=`<%l!.w<%lO!/om!2hP;=`<%l!.w`!2nP;=`<%l$t",tokenizers:[P,m,X,0,1,2,3,4],topRules:{StyleSheet:[0,5]},specialized:[{term:116,get:O=>c[O]||-1},{term:23,get:O=>f[O]||-1}],tokenPrec:2180}),s=T.define({name:"less",parser:p.configure({props:[e.add({Declaration:l()}),S.add({Block:r})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*\}$/,wordChars:"@-"}}),W=O(O=>"VariableName"==O.name||"AtKeyword"==O.name);function Z(){return new Q(s,s.data.of({autocomplete:W}))}export{Z as less,W as lessCompletionSource,s as lessLanguage};
|
|
2
|
-
//# sourceMappingURL=less.js.map
|