[ package:dds ] Add server-sent event (SSE) support to DDS
This support is required for web clients of dwds within google3
Change-Id: Ia1ecbf8f5ba79d53cb340c83a579dc0810ec0065
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150183
Reviewed-by: Gary Roumanis <grouma@google.com>
diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json
index 4ab9d57..953751e 100644
--- a/.dart_tool/package_config.json
+++ b/.dart_tool/package_config.json
@@ -557,6 +557,12 @@
"languageVersion": "2.1"
},
{
+ "name": "sse",
+ "rootUri": "../third_party/pkg/sse",
+ "packageUri": "lib/",
+ "languageVersion": "2.6"
+ },
+ {
"name": "stack_trace",
"rootUri": "../third_party/pkg/stack_trace",
"packageUri": "lib/",
@@ -587,6 +593,12 @@
"languageVersion": "2.0"
},
{
+ "name": "sync_http",
+ "rootUri": "../third_party/pkg/sync_http",
+ "packageUri": "lib/",
+ "languageVersion": "2.6"
+ },
+ {
"name": "telemetry",
"rootUri": "../pkg/telemetry",
"packageUri": "lib/",
@@ -695,6 +707,12 @@
"languageVersion": "2.2"
},
{
+ "name": "webdriver",
+ "rootUri": "../third_party/pkg/webdriver",
+ "packageUri": "lib/",
+ "languageVersion": "2.6"
+ },
+ {
"name": "web_components",
"rootUri": "../third_party/pkg/web_components",
"packageUri": "lib/",
@@ -713,4 +731,4 @@
"languageVersion": "2.4"
}
]
-}
\ No newline at end of file
+}
diff --git a/.packages b/.packages
index f1a7e23..ee073a7 100644
--- a/.packages
+++ b/.packages
@@ -92,11 +92,13 @@
sourcemap_testing:pkg/sourcemap_testing/lib
source_maps:third_party/pkg/source_maps/lib
source_span:third_party/pkg/source_span/lib
+sse:third_party/pkg/sse/lib
stack_trace:third_party/pkg/stack_trace/lib
stagehand:third_party/pkg/stagehand/lib
status_file:pkg/status_file/lib
stream_channel:third_party/pkg/stream_channel/lib
string_scanner:third_party/pkg/string_scanner/lib
+sync_http:third_party/pkg/sync_http/lib
telemetry:pkg/telemetry/lib
term_glyph:third_party/pkg/term_glyph/lib
test:third_party/pkg/test/pkgs/test/lib
@@ -115,6 +117,7 @@
vm_service:pkg/vm_service/lib
vm_snapshot_analysis:pkg/vm_snapshot_analysis/lib
watcher:third_party/pkg/watcher/lib
+webdriver:third_party/pkg/webdriver/lib
web_components:third_party/pkg/web_components/lib
web_socket_channel:third_party/pkg/web_socket_channel/lib
yaml:third_party/pkg/yaml/lib
diff --git a/DEPS b/DEPS
index 8ef3a81..1e5bee0 100644
--- a/DEPS
+++ b/DEPS
@@ -96,6 +96,7 @@
# For more details, see https://github.com/dart-lang/sdk/issues/30164
"dart_style_tag": "1.3.6", # Please see the note above before updating.
+ "chromedriver_tag": "83.0.4103.39",
"dartdoc_tag" : "v0.32.2",
"ffi_rev": "454ab0f9ea6bd06942a983238d8a6818b1357edb",
"fixnum_rev": "9b38f49f6679654d66a363e69e48173cca07e882",
@@ -142,10 +143,12 @@
"source_maps-0.9.4_rev": "38524",
"source_maps_rev": "87b4fd9027378bbd51b02e9d7df794eee8a82b7a",
"source_span_tag": "1.7.0",
+ "sse_tag": "e5cf68975e8e87171a3dc297577aa073454a91dc",
"stack_trace_tag": "56811dbb2530d823b764fe167ec335879a4adb32",
"stagehand_tag": "v3.3.9",
"stream_channel_tag": "70433d577be02c48cb16d72d65654f3b4d82c6ed",
"string_scanner_rev": "a918e7371af6b6e73bfd534ff9da6084741c1f99",
+ "sync_http_rev": "a85d7ec764ea485cbbc49f3f3e7f1b43f87a1c74",
"test_descriptor_tag": "1.1.1",
"test_process_tag": "1.0.3",
"term_glyph_rev": "b3da31e9684a99cfe5f192b89914492018b44da7",
@@ -156,6 +159,7 @@
"usage_tag": "3.4.0",
"vector_math_rev": "90631fbb609f61d42f28621253c0ec9fc6a326d2",
"watcher_rev": "fc3c9aae5d31d707b3013b42634dde8d8a1161b4",
+ "webdriver_rev": "5a8d6805d9cf8a3cbb4fcd64849b538b7491e50e",
"web_components_rev": "8f57dac273412a7172c8ade6f361b407e2e4ed02",
"web_socket_channel_rev": "490061ef0e22d3c8460ad2802f9948219365ad6b",
"WebCore_rev": "fb11e887f77919450e497344da570d780e078bc8",
@@ -408,6 +412,8 @@
Var("dart_root") + "/third_party/pkg/source_map_stack_trace":
Var("dart_git") + "source_map_stack_trace.git" +
"@" + Var("source_map_stack_trace_tag"),
+ Var("dart_root") + "/third_party/pkg/sse":
+ Var("dart_git") + "sse.git" + "@" + Var("sse_tag"),
Var("dart_root") + "/third_party/pkg/stack_trace":
Var("dart_git") + "stack_trace.git" + "@" + Var("stack_trace_tag"),
Var("dart_root") + "/third_party/pkg/stagehand":
@@ -418,6 +424,8 @@
Var("dart_root") + "/third_party/pkg/string_scanner":
Var("dart_git") + "string_scanner.git" +
"@" + Var("string_scanner_rev"),
+ Var("dart_root") + "/third_party/pkg/sync_http":
+ Var("dart_git") + "sync_http.git" + "@" + Var("sync_http_rev"),
Var("dart_root") + "/third_party/pkg/term_glyph":
Var("dart_git") + "term_glyph.git" + "@" + Var("term_glyph_rev"),
Var("dart_root") + "/third_party/pkg/test":
@@ -443,6 +451,10 @@
Var("dart_root") + "/third_party/pkg/web_components":
Var("dart_git") + "web-components.git" +
"@" + Var("web_components_rev"),
+ Var("dart_root") + "/third_party/pkg/webdriver":
+ Var("dart_git") + "external/github.com/google/webdriver.dart.git" +
+ "@" + Var("webdriver_rev"),
+
Var("dart_root") + "/third_party/pkg/web_socket_channel":
Var("dart_git") + "web_socket_channel.git" +
"@" + Var("web_socket_channel_rev"),
@@ -460,6 +472,17 @@
"dep_type": "cipd",
},
+ Var("dart_root") + "/third_party/webdriver/chrome": {
+ "packages": [
+ {
+ "package": "dart/third_party/chromedriver/${{platform}}",
+ "version": "version:" + Var("chromedriver_tag"),
+ }
+ ],
+ "condition": "host_cpu == 'x64'",
+ "dep_type": "cipd",
+ },
+
Var("dart_root") + "/pkg/analysis_server/language_model": {
"packages": [
{
diff --git a/pkg/dds/CHANGELOG.md b/pkg/dds/CHANGELOG.md
index c4725ea..7970319 100644
--- a/pkg/dds/CHANGELOG.md
+++ b/pkg/dds/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 1.3.0
+
+- Added support for SSE connections from web-based clients.
+
# 1.2.4
- Fixed another issue where a `StateError` could be raised within `DartDevelopmentService`
diff --git a/pkg/dds/README.md b/pkg/dds/README.md
index 64b0c72..ec3567b 100644
--- a/pkg/dds/README.md
+++ b/pkg/dds/README.md
@@ -2,7 +2,35 @@
# Functionality
-Existing VM Service clients can issue both HTTP and websocket requests to a running DDS instance as if it were an instance of the VM Service itself. If a request corresponds to an RPC defined in the [VM Service Protocol][service-protocol], DDS will forward the request and return the response from the VM Service. Requests corresponding to an RPC defined in the [DDS Protocol][dds-protocol] will be handled directly by the DDS instance.
+Existing VM Service clients can issue both HTTP, websocket, and SSE requests to a running DDS instance as if it were an instance of the VM Service itself. If a request corresponds to an RPC defined in the [VM Service Protocol][service-protocol], DDS will forward the request and return the response from the VM Service. Requests corresponding to an RPC defined in the [DDS Protocol][dds-protocol] will be handled directly by the DDS instance.
+
+# SSE Support
+
+For certain web clients it may be preferrable or required to communicate with DDS using server-sent events (SSE). DDS has a SSE handler listening for requests on `/$debugHandler`.
+
+## SSE and package:vm_service example
+
+```dart
+import 'package:sse/sse.dart';
+import 'package:vm_service/vm_service.dart';
+
+void main() {
+ // Establish connection with DDS using SSE.
+ final ddsChannel = SseClient('${ddsUri}\$debugHandler');
+
+ // Wait for ddsChannel to be established
+ await ddsChannel.onOpen.first;
+
+ // Initialize VmService using the sink and stream from ddsChannel.
+ final vmService = VmService(
+ ddsChannel.stream,
+ (e) => ddsChannel.sink.add(e),
+ );
+
+ // You're ready to query DDS and the VM service!
+ print(await vmService.getVersion());
+}
+```
[dds-protocol]: dds_protocol.md
[service-protocol]: https://github.com/dart-lang/sdk/blob/master/runtime/vm/service/service.md
diff --git a/pkg/dds/lib/dds.dart b/pkg/dds/lib/dds.dart
index 90461e6..f9c057c 100644
--- a/pkg/dds/lib/dds.dart
+++ b/pkg/dds/lib/dds.dart
@@ -21,6 +21,7 @@
import 'package:shelf/shelf_io.dart' as io;
import 'package:shelf_proxy/shelf_proxy.dart';
import 'package:shelf_web_socket/shelf_web_socket.dart';
+import 'package:sse/server/sse_handler.dart';
import 'package:stream_channel/stream_channel.dart';
import 'package:web_socket_channel/web_socket_channel.dart';
@@ -111,6 +112,12 @@
Uri get uri;
/// The [Uri] VM service clients can use to communicate with this
+ /// [DartDevelopmentService] via server-sent events (SSE).
+ ///
+ /// Returns `null` if the service is not running.
+ Uri get sseUri;
+
+ /// The [Uri] VM service clients can use to communicate with this
/// [DartDevelopmentService] via a [WebSocket].
///
/// Returns `null` if the service is not running.
diff --git a/pkg/dds/lib/src/client.dart b/pkg/dds/lib/src/client.dart
index 4099128..3d796fc 100644
--- a/pkg/dds/lib/src/client.dart
+++ b/pkg/dds/lib/src/client.dart
@@ -7,24 +7,46 @@
/// Representation of a single DDS client which manages the connection and
/// DDS request intercepting / forwarding.
class _DartDevelopmentServiceClient {
- _DartDevelopmentServiceClient(
+ factory _DartDevelopmentServiceClient.fromWebSocket(
+ DartDevelopmentService dds,
+ WebSocketChannel ws,
+ json_rpc.Peer vmServicePeer,
+ ) =>
+ _DartDevelopmentServiceClient._(
+ dds,
+ ws,
+ vmServicePeer,
+ );
+
+ factory _DartDevelopmentServiceClient.fromSSEConnection(
+ DartDevelopmentService dds,
+ SseConnection sse,
+ json_rpc.Peer vmServicePeer,
+ ) =>
+ _DartDevelopmentServiceClient._(
+ dds,
+ sse,
+ vmServicePeer,
+ );
+
+ _DartDevelopmentServiceClient._(
this.dds,
- this.ws,
+ this.connection,
json_rpc.Peer vmServicePeer,
) : _vmServicePeer = vmServicePeer {
_clientPeer = json_rpc.Peer(
// Manually create a StreamChannel<String> instead of calling
- // ws.cast<String>() as cast() results in addStream() being called,
+ // .cast<String>() as cast() results in addStream() being called,
// binding the underlying sink. This results in a StateError being thrown
// if we try and add directly to the sink, which we do for binary events
// in _StreamManager's streamNotify().
StreamChannel<String>(
- ws.stream.cast(),
+ connection.stream.cast(),
StreamController(sync: true)
..stream
.cast()
- .listen((event) => ws.sink.add(event))
- .onDone(() => ws.sink.close()),
+ .listen((event) => connection.sink.add(event))
+ .onDone(() => connection.sink.close()),
),
strictProtocolChecks: false,
);
@@ -231,8 +253,8 @@
String _name;
final _DartDevelopmentService dds;
+ final StreamChannel connection;
final Map<String, String> services = {};
final json_rpc.Peer _vmServicePeer;
- final WebSocketChannel ws;
json_rpc.Peer _clientPeer;
}
diff --git a/pkg/dds/lib/src/dds_impl.dart b/pkg/dds/lib/src/dds_impl.dart
index 221b2c9..55e9e64 100644
--- a/pkg/dds/lib/src/dds_impl.dart
+++ b/pkg/dds/lib/src/dds_impl.dart
@@ -139,10 +139,15 @@
// Attempt to upgrade HTTP requests to a websocket before processing them as
// standard HTTP requests. The websocket handler will fail quickly if the
// request doesn't appear to be a websocket upgrade request.
- Cascade _handlers() => Cascade().add(_webSocketHandler()).add(_httpHandler());
+ Cascade _handlers() {
+ return Cascade()
+ .add(_webSocketHandler())
+ .add(_sseHandler())
+ .add(_httpHandler());
+ }
Handler _webSocketHandler() => webSocketHandler((WebSocketChannel ws) {
- final client = _DartDevelopmentServiceClient(
+ final client = _DartDevelopmentServiceClient.fromWebSocket(
this,
ws,
_vmServiceClient,
@@ -150,6 +155,23 @@
clientManager.addClient(client);
});
+ Handler _sseHandler() {
+ final handler = authCodesEnabled
+ ? SseHandler(Uri.parse('/$_authCode/$_kSseHandlerPath'))
+ : SseHandler(Uri.parse('/$_kSseHandlerPath'));
+
+ handler.connections.rest.listen((sseConnection) {
+ final client = _DartDevelopmentServiceClient.fromSSEConnection(
+ this,
+ sseConnection,
+ _vmServiceClient,
+ );
+ clientManager.addClient(client);
+ });
+
+ return handler.handler;
+ }
+
Handler _httpHandler() {
// DDS doesn't support any HTTP requests itself, so we just forward all of
// them to the VM service.
@@ -157,10 +179,7 @@
return cascade.handler;
}
- Uri _toWebSocket(Uri uri) {
- if (uri == null) {
- return null;
- }
+ List<String> _cleanupPathSegments(Uri uri) {
final pathSegments = <String>[];
if (uri.pathSegments.isNotEmpty) {
pathSegments.addAll(uri.pathSegments.where(
@@ -170,10 +189,27 @@
(s) => s.isNotEmpty,
));
}
+ return pathSegments;
+ }
+
+ Uri _toWebSocket(Uri uri) {
+ if (uri == null) {
+ return null;
+ }
+ final pathSegments = _cleanupPathSegments(uri);
pathSegments.add('ws');
return uri.replace(scheme: 'ws', pathSegments: pathSegments);
}
+ Uri _toSse(Uri uri) {
+ if (uri == null) {
+ return null;
+ }
+ final pathSegments = _cleanupPathSegments(uri);
+ pathSegments.add(_kSseHandlerPath);
+ return uri.replace(pathSegments: pathSegments);
+ }
+
String _getNamespace(_DartDevelopmentServiceClient client) =>
clientManager.clients.keyOf(client);
@@ -186,6 +222,7 @@
Uri _remoteVmServiceUri;
Uri get uri => _uri;
+ Uri get sseUri => _toSse(_uri);
Uri get wsUri => _toWebSocket(_uri);
Uri _uri;
@@ -210,6 +247,8 @@
_StreamManager get streamManager => _streamManager;
_StreamManager _streamManager;
+ static const _kSseHandlerPath = '\$debugHandler';
+
json_rpc.Peer _vmServiceClient;
WebSocketChannel _vmServiceSocket;
HttpServer _server;
diff --git a/pkg/dds/lib/src/stream_manager.dart b/pkg/dds/lib/src/stream_manager.dart
index 45f9389..ea8aeaa 100644
--- a/pkg/dds/lib/src/stream_manager.dart
+++ b/pkg/dds/lib/src/stream_manager.dart
@@ -28,7 +28,7 @@
continue;
}
if (isBinaryData) {
- listener.ws.sink.add(data);
+ listener.connection.sink.add(data);
} else {
listener.sendNotification('streamNotify', data);
}
diff --git a/pkg/dds/pubspec.yaml b/pkg/dds/pubspec.yaml
index 7353126..c96cca3 100644
--- a/pkg/dds/pubspec.yaml
+++ b/pkg/dds/pubspec.yaml
@@ -3,7 +3,7 @@
A library used to spawn the Dart Developer Service, used to communicate with
a Dart VM Service instance.
-version: 1.2.4
+version: 1.3.0
homepage: https://github.com/dart-lang/sdk/tree/master/pkg/dds
@@ -18,9 +18,11 @@
shelf: ^0.7.5
shelf_proxy: ^0.1.0+7
shelf_web_socket: ^0.2.3
+ sse: ^3.5.0
stream_channel: ^2.0.0
web_socket_channel: ^1.1.0
dev_dependencies:
test: ^1.0.0
vm_service: ^4.0.0
+ webdriver: ^2.1.2
diff --git a/pkg/dds/test/smoke_test.dart b/pkg/dds/test/smoke_test.dart
index 3b8cd7b..e7e5216 100644
--- a/pkg/dds/test/smoke_test.dart
+++ b/pkg/dds/test/smoke_test.dart
@@ -27,49 +27,51 @@
process = null;
});
- bool useAuthCodes = false;
- for (int i = 0; i < 2; ++i) {
- test('Smoke Test with ${useAuthCodes ? "" : "no "} authentication codes',
- () async {
- dds = await DartDevelopmentService.startDartDevelopmentService(
- remoteVmServiceUri,
- enableAuthCodes: useAuthCodes,
- );
- expect(dds.isRunning, true);
+ void createSmokeTest(bool useAuthCodes) {
+ test(
+ 'Smoke Test with ${useAuthCodes ? "" : "no "} authentication codes',
+ () async {
+ dds = await DartDevelopmentService.startDartDevelopmentService(
+ remoteVmServiceUri,
+ enableAuthCodes: useAuthCodes,
+ );
+ expect(dds.isRunning, true);
- // Ensure basic websocket requests are forwarded correctly to the VM service.
- final service = await vmServiceConnectUri(dds.wsUri.toString());
- final version = await service.getVersion();
- expect(version.major > 0, true);
- expect(version.minor > 0, true);
+ // Ensure basic websocket requests are forwarded correctly to the VM service.
+ final service = await vmServiceConnectUri(dds.wsUri.toString());
+ final version = await service.getVersion();
+ expect(version.major > 0, true);
+ expect(version.minor > 0, true);
- expect(
- remoteVmServiceUri.pathSegments,
- useAuthCodes ? isNotEmpty : isEmpty,
- );
+ expect(
+ dds.uri.pathSegments,
+ useAuthCodes ? isNotEmpty : isEmpty,
+ );
- // Ensure we can still make requests of the VM service via HTTP.
- HttpClient client = HttpClient();
- final request = await client.getUrl(remoteVmServiceUri.replace(
- pathSegments: [
- if (remoteVmServiceUri.pathSegments.isNotEmpty)
- remoteVmServiceUri.pathSegments.first,
- 'getVersion',
- ],
- ));
- final response = await request.close();
- final Map<String, dynamic> jsonResponse = (await response
- .transform(utf8.decoder)
- .transform(json.decoder)
- .single);
- expect(jsonResponse['result']['type'], 'Version');
- expect(jsonResponse['result']['major'] > 0, true);
- expect(jsonResponse['result']['minor'] > 0, true);
- });
-
- useAuthCodes = true;
+ // Ensure we can still make requests of the VM service via HTTP.
+ HttpClient client = HttpClient();
+ final request = await client.getUrl(remoteVmServiceUri.replace(
+ pathSegments: [
+ if (remoteVmServiceUri.pathSegments.isNotEmpty)
+ remoteVmServiceUri.pathSegments.first,
+ 'getVersion',
+ ],
+ ));
+ final response = await request.close();
+ final Map<String, dynamic> jsonResponse = (await response
+ .transform(utf8.decoder)
+ .transform(json.decoder)
+ .single);
+ expect(jsonResponse['result']['type'], 'Version');
+ expect(jsonResponse['result']['major'] > 0, true);
+ expect(jsonResponse['result']['minor'] > 0, true);
+ },
+ );
}
+ createSmokeTest(true);
+ createSmokeTest(false);
+
test('startup fails when VM service has existing clients', () async {
Uri httpToWebSocketUri(Uri httpUri) {
final segments = (httpUri.pathSegments.isNotEmpty)
diff --git a/pkg/dds/test/sse_smoke_test.dart b/pkg/dds/test/sse_smoke_test.dart
new file mode 100644
index 0000000..682fa18
--- /dev/null
+++ b/pkg/dds/test/sse_smoke_test.dart
@@ -0,0 +1,116 @@
+// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'dart:async';
+import 'dart:convert';
+import 'dart:io';
+
+import 'package:dds/dds.dart';
+import 'package:shelf/shelf.dart' as shelf;
+import 'package:shelf/shelf_io.dart' as io;
+import 'package:shelf_static/shelf_static.dart';
+import 'package:sse/server/sse_handler.dart';
+import 'package:test/test.dart';
+import 'package:vm_service/vm_service.dart' as service;
+import 'package:webdriver/io.dart';
+
+import 'common/test_helper.dart';
+
+// NOTE: this test requires that Chrome is available via PATH or CHROME_PATH
+// environment variables.
+
+void main() {
+ Process chromeDriver;
+ DartDevelopmentService dds;
+ SseHandler handler;
+ Process process;
+ HttpServer server;
+ WebDriver webdriver;
+
+ setUpAll(() async {
+ final chromedriverUri = Platform.script.resolveUri(
+ Uri.parse('../../../third_party/webdriver/chrome/chromedriver'));
+ try {
+ chromeDriver = await Process.start(chromedriverUri.path, [
+ '--port=4444',
+ '--url-base=wd/hub',
+ ]);
+ } catch (e) {
+ throw StateError(
+ 'Could not start ChromeDriver. Is it installed?\nError: $e');
+ }
+ });
+
+ tearDownAll(() {
+ chromeDriver.kill();
+ });
+
+ group('DDS', () {
+ setUp(() async {
+ process = await spawnDartProcess('smoke.dart');
+
+ handler = SseHandler(Uri.parse('/test'));
+ final cascade = shelf.Cascade()
+ .add(handler.handler)
+ .add(_faviconHandler)
+ .add(createStaticHandler(Platform.script.resolve('web').path,
+ listDirectories: true, defaultDocument: 'index.html'));
+
+ server = await io.serve(cascade.handler, 'localhost', 0);
+
+ final capabilities = Capabilities.chrome
+ ..addAll({
+ Capabilities.chromeOptions: {
+ 'args': ['--headless'],
+ 'binary': Platform.environment['CHROME_PATH'] ?? '',
+ },
+ });
+ print('Capabilities: $capabilities');
+ webdriver = await createDriver(
+ desired: capabilities,
+ );
+ });
+
+ tearDown(() async {
+ await dds?.shutdown();
+ process?.kill();
+ await webdriver.quit();
+ await server.close();
+ dds = null;
+ process = null;
+ });
+
+ void createTest(bool useAuthCodes) {
+ test(
+ 'SSE Smoke Test with ${useAuthCodes ? "" : "no "}authentication codes',
+ () async {
+ dds = await DartDevelopmentService.startDartDevelopmentService(
+ remoteVmServiceUri,
+ serviceUri: Uri.parse('http://localhost:0'),
+ enableAuthCodes: useAuthCodes,
+ );
+ expect(dds.isRunning, true);
+ await webdriver.get('http://localhost:${server.port}');
+ final testeeConnection = await handler.connections.next;
+ testeeConnection.sink.add(dds.sseUri.toString());
+
+ final response = json.decode(await testeeConnection.stream.first);
+ final version = service.Version.parse(response);
+ expect(version.major > 0, isTrue);
+ expect(version.minor >= 0, isTrue);
+ },
+ );
+ }
+
+ createTest(true);
+ createTest(false);
+ });
+}
+
+FutureOr<shelf.Response> _faviconHandler(shelf.Request request) {
+ if (request.url.path.endsWith('favicon.ico')) {
+ return shelf.Response.ok('');
+ }
+ return shelf.Response.notFound('');
+}
diff --git a/pkg/dds/test/uri_test.dart b/pkg/dds/test/uri_test.dart
new file mode 100644
index 0000000..8afd523
--- /dev/null
+++ b/pkg/dds/test/uri_test.dart
@@ -0,0 +1,88 @@
+// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'dart:io';
+
+import 'package:dds/dds.dart';
+import 'package:test/test.dart';
+
+import 'common/test_helper.dart';
+
+void main() {
+ Process process;
+ DartDevelopmentService dds;
+ setUp(() async {
+ process = await spawnDartProcess('smoke.dart');
+ });
+
+ tearDown(() async {
+ await dds?.shutdown();
+ process?.kill();
+ dds = null;
+ process = null;
+ });
+
+ Future<int> getAvailablePort() async {
+ final tmpServer = await HttpServer.bind(InternetAddress.loopbackIPv4, 0);
+ final port = tmpServer.port;
+ await tmpServer.close();
+ return port;
+ }
+
+ group('Ensure DDS URIs are consistent', () {
+ test('without authentication codes', () async {
+ final port = await getAvailablePort();
+ final serviceUri = Uri.parse('http://127.0.0.1:$port/');
+ dds = await DartDevelopmentService.startDartDevelopmentService(
+ remoteVmServiceUri,
+ serviceUri: serviceUri,
+ enableAuthCodes: false,
+ );
+
+ expect(dds.uri, serviceUri);
+ expect(
+ dds.sseUri,
+ serviceUri.replace(
+ pathSegments: ['\$debugHandler'],
+ ),
+ );
+ expect(
+ dds.wsUri,
+ serviceUri.replace(
+ scheme: 'ws',
+ pathSegments: ['ws'],
+ ),
+ );
+ });
+
+ test('with authentication codes', () async {
+ final port = await getAvailablePort();
+ final serviceUri = Uri.parse('http://127.0.0.1:$port/');
+ dds = await DartDevelopmentService.startDartDevelopmentService(
+ remoteVmServiceUri,
+ serviceUri: serviceUri,
+ );
+
+ // We need to pull the authentication code out of the main DDS URI, so
+ // just make sure that it's at the right address and port.
+ expect(dds.uri.toString().contains(serviceUri.toString()), isTrue);
+
+ expect(dds.uri.pathSegments, isNotEmpty);
+ final authCode = dds.uri.pathSegments.first;
+ expect(
+ dds.sseUri,
+ serviceUri.replace(
+ pathSegments: [authCode, '\$debugHandler'],
+ ),
+ );
+ expect(
+ dds.wsUri,
+ serviceUri.replace(
+ scheme: 'ws',
+ pathSegments: [authCode, 'ws'],
+ ),
+ );
+ });
+ });
+}
diff --git a/pkg/dds/test/web/index.html b/pkg/dds/test/web/index.html
new file mode 100644
index 0000000..27d3952
--- /dev/null
+++ b/pkg/dds/test/web/index.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <title>DDS SSE Smoke Test</title>
+</head>
+
+<body>
+ <script type="application/javascript" src="sse_smoke_driver.dart.js"></script>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/pkg/dds/test/web/sse_smoke_driver.dart b/pkg/dds/test/web/sse_smoke_driver.dart
new file mode 100644
index 0000000..66ef20c
--- /dev/null
+++ b/pkg/dds/test/web/sse_smoke_driver.dart
@@ -0,0 +1,37 @@
+// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// This file must be compiled for changes to be picked up.
+//
+// Run the following command from the root of this package if this file is
+// updated:
+//
+// dart2js -o test/web/sse_smoke_driver.dart.js test/web/sse_smoke_driver.dart
+
+import 'dart:convert';
+
+import 'package:async/async.dart';
+import 'package:sse/client/sse_client.dart';
+import 'package:vm_service/vm_service.dart';
+
+Future<void> main() async {
+ // Connect to test server
+ final channel = SseClient('/test');
+ final testerStream = StreamQueue<String>(channel.stream);
+
+ // Connect to DDS
+ final ddsUri = await testerStream.next;
+ final ddsChannel = SseClient(ddsUri);
+
+ // Wait for ddsChannel to be established.
+ await ddsChannel.onOpen.first;
+
+ final vmService = VmService(
+ ddsChannel.stream,
+ (e) => ddsChannel.sink.add(e),
+ );
+ final version = await vmService.getVersion();
+ channel.sink.add(json.encode(version.json));
+ ddsChannel.close();
+}
diff --git a/pkg/dds/test/web/sse_smoke_driver.dart.js b/pkg/dds/test/web/sse_smoke_driver.dart.js
new file mode 100644
index 0000000..1fc9758
--- /dev/null
+++ b/pkg/dds/test/web/sse_smoke_driver.dart.js
@@ -0,0 +1,14723 @@
+// Generated by dart2js (fast startup emitter, strong), the Dart to JavaScript compiler version: 2.9.0-edge.9d8087a399ebe62f6a93f21ec20f56d39dbcf1a2.
+// The code supports the following hooks:
+// dartPrint(message):
+// if this function is defined it is called instead of the Dart [print]
+// method.
+//
+// dartMainRunner(main, args):
+// if this function is defined, the Dart [main] method will not be invoked
+// directly. Instead, a closure that will invoke [main], and its arguments
+// [args] is passed to [dartMainRunner].
+//
+// dartDeferredLibraryLoader(uri, successCallback, errorCallback):
+// if this function is defined, it will be called when a deferred library
+// is loaded. It should load and eval the javascript of `uri`, and call
+// successCallback. If it fails to do so, it should call errorCallback with
+// an error.
+//
+// dartCallInstrumentation(id, qualifiedName):
+// if this function is defined, it will be called at each entry of a
+// method or constructor. Used only when compiling programs with
+// --experiment-call-instrumentation.
+(function dartProgram() {
+ function copyProperties(from, to) {
+ var keys = Object.keys(from);
+ for (var i = 0; i < keys.length; i++) {
+ var key = keys[i];
+ to[key] = from[key];
+ }
+ }
+ var supportsDirectProtoAccess = function() {
+ var cls = function() {
+ };
+ cls.prototype = {p: {}};
+ var object = new cls();
+ if (!(object.__proto__ && object.__proto__.p === cls.prototype.p))
+ return false;
+ try {
+ if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0)
+ return true;
+ if (typeof version == "function" && version.length == 0) {
+ var v = version();
+ if (/^\d+\.\d+\.\d+\.\d+$/.test(v))
+ return true;
+ }
+ } catch (_) {
+ }
+ return false;
+ }();
+ function setFunctionNamesIfNecessary(holders) {
+ function t() {
+ }
+ ;
+ if (typeof t.name == "string")
+ return;
+ for (var i = 0; i < holders.length; i++) {
+ var holder = holders[i];
+ var keys = Object.keys(holder);
+ for (var j = 0; j < keys.length; j++) {
+ var key = keys[j];
+ var f = holder[key];
+ if (typeof f == 'function')
+ f.name = key;
+ }
+ }
+ }
+ function inherit(cls, sup) {
+ cls.prototype.constructor = cls;
+ cls.prototype["$is" + cls.name] = cls;
+ if (sup != null) {
+ if (supportsDirectProtoAccess) {
+ cls.prototype.__proto__ = sup.prototype;
+ return;
+ }
+ var clsPrototype = Object.create(sup.prototype);
+ copyProperties(cls.prototype, clsPrototype);
+ cls.prototype = clsPrototype;
+ }
+ }
+ function inheritMany(sup, classes) {
+ for (var i = 0; i < classes.length; i++)
+ inherit(classes[i], sup);
+ }
+ function mixin(cls, mixin) {
+ copyProperties(mixin.prototype, cls.prototype);
+ cls.prototype.constructor = cls;
+ }
+ function lazy(holder, name, getterName, initializer) {
+ var uninitializedSentinel = holder;
+ holder[name] = uninitializedSentinel;
+ holder[getterName] = function() {
+ holder[getterName] = function() {
+ H.throwCyclicInit(name);
+ };
+ var result;
+ var sentinelInProgress = initializer;
+ try {
+ if (holder[name] === uninitializedSentinel) {
+ result = holder[name] = sentinelInProgress;
+ result = holder[name] = initializer();
+ } else
+ result = holder[name];
+ } finally {
+ if (result === sentinelInProgress)
+ holder[name] = null;
+ holder[getterName] = function() {
+ return this[name];
+ };
+ }
+ return result;
+ };
+ }
+ function makeConstList(list) {
+ list.immutable$list = Array;
+ list.fixed$length = Array;
+ return list;
+ }
+ function convertToFastObject(properties) {
+ function t() {
+ }
+ t.prototype = properties;
+ new t();
+ return properties;
+ }
+ function convertAllToFastObject(arrayOfObjects) {
+ for (var i = 0; i < arrayOfObjects.length; ++i)
+ convertToFastObject(arrayOfObjects[i]);
+ }
+ var functionCounter = 0;
+ function tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted) {
+ return isIntercepted ? new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "(receiver) {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, true, name);" + "return new c(this, funcs[0], receiver, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null) : new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "() {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, false, name);" + "return new c(this, funcs[0], null, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null);
+ }
+ function tearOff(funcs, applyTrampolineIndex, reflectionInfo, isStatic, name, isIntercepted) {
+ var cache = null;
+ return isStatic ? function() {
+ if (cache === null)
+ cache = H.closureFromTearOff(this, funcs, applyTrampolineIndex, reflectionInfo, true, false, name).prototype;
+ return cache;
+ } : tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted);
+ }
+ var typesOffset = 0;
+ function installTearOff(container, getterName, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
+ var funs = [];
+ for (var i = 0; i < funsOrNames.length; i++) {
+ var fun = funsOrNames[i];
+ if (typeof fun == 'string')
+ fun = container[fun];
+ fun.$callName = callNames[i];
+ funs.push(fun);
+ }
+ var fun = funs[0];
+ fun.$requiredArgCount = requiredParameterCount;
+ fun.$defaultValues = optionalParameterDefaultValues;
+ var reflectionInfo = funType;
+ if (typeof reflectionInfo == "number")
+ reflectionInfo += typesOffset;
+ var name = funsOrNames[0];
+ fun.$stubName = name;
+ var getterFunction = tearOff(funs, applyIndex || 0, reflectionInfo, isStatic, name, isIntercepted);
+ container[getterName] = getterFunction;
+ if (isStatic)
+ fun.$tearOff = getterFunction;
+ }
+ function installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
+ return installTearOff(container, getterName, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex);
+ }
+ function installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
+ return installTearOff(container, getterName, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex);
+ }
+ function setOrUpdateInterceptorsByTag(newTags) {
+ var tags = init.interceptorsByTag;
+ if (!tags) {
+ init.interceptorsByTag = newTags;
+ return;
+ }
+ copyProperties(newTags, tags);
+ }
+ function setOrUpdateLeafTags(newTags) {
+ var tags = init.leafTags;
+ if (!tags) {
+ init.leafTags = newTags;
+ return;
+ }
+ copyProperties(newTags, tags);
+ }
+ function updateTypes(newTypes) {
+ var types = init.types;
+ var length = types.length;
+ types.push.apply(types, newTypes);
+ return length;
+ }
+ function updateHolder(holder, newHolder) {
+ copyProperties(newHolder, holder);
+ return holder;
+ }
+ var hunkHelpers = function() {
+ var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
+ return function(container, getterName, name, funType) {
+ return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
+ };
+ },
+ mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
+ return function(container, getterName, name, funType) {
+ return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
+ };
+ };
+ return {inherit: inherit, inheritMany: inheritMany, mixin: mixin, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, updateHolder: updateHolder, convertToFastObject: convertToFastObject, setFunctionNamesIfNecessary: setFunctionNamesIfNecessary, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags};
+ }();
+ function initializeDeferredHunk(hunk) {
+ typesOffset = init.types.length;
+ hunk(hunkHelpers, init, holders, $);
+ }
+ function getGlobalFromName(name) {
+ for (var i = 0; i < holders.length; i++) {
+ if (holders[i] == C)
+ continue;
+ if (holders[i][name])
+ return holders[i][name];
+ }
+ }
+ var C = {},
+ H = {JS_CONST: function JS_CONST() {
+ },
+ MappedIterable_MappedIterable: function(iterable, $function, $S, $T) {
+ if (type$.EfficientLengthIterable_dynamic._is(iterable))
+ return new H.EfficientLengthMappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>"));
+ return new H.MappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("MappedIterable<1,2>"));
+ },
+ IterableElementError_noElement: function() {
+ return new P.StateError("No element");
+ },
+ IterableElementError_tooFew: function() {
+ return new P.StateError("Too few elements");
+ },
+ EfficientLengthIterable: function EfficientLengthIterable() {
+ },
+ ListIterable: function ListIterable() {
+ },
+ ListIterator: function ListIterator(t0, t1, t2) {
+ var _ = this;
+ _._iterable = t0;
+ _.__internal$_length = t1;
+ _._index = 0;
+ _._current = null;
+ _.$ti = t2;
+ },
+ MappedIterable: function MappedIterable(t0, t1, t2) {
+ this._iterable = t0;
+ this._f = t1;
+ this.$ti = t2;
+ },
+ EfficientLengthMappedIterable: function EfficientLengthMappedIterable(t0, t1, t2) {
+ this._iterable = t0;
+ this._f = t1;
+ this.$ti = t2;
+ },
+ MappedIterator: function MappedIterator(t0, t1, t2) {
+ var _ = this;
+ _._current = null;
+ _._iterator = t0;
+ _._f = t1;
+ _.$ti = t2;
+ },
+ MappedListIterable: function MappedListIterable(t0, t1, t2) {
+ this.__internal$_source = t0;
+ this._f = t1;
+ this.$ti = t2;
+ },
+ FixedLengthListMixin: function FixedLengthListMixin() {
+ },
+ Symbol: function Symbol(t0) {
+ this.__internal$_name = t0;
+ },
+ ConstantMap__throwUnmodifiable: function() {
+ throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable Map"));
+ },
+ unminifyOrTag: function(rawClassName) {
+ var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName);
+ if (preserved != null)
+ return preserved;
+ return rawClassName;
+ },
+ isJsIndexable: function(object, record) {
+ var result;
+ if (record != null) {
+ result = record.x;
+ if (result != null)
+ return result;
+ }
+ return type$.JavaScriptIndexingBehavior_dynamic._is(object);
+ },
+ S: function(value) {
+ var res;
+ if (typeof value == "string")
+ return value;
+ if (typeof value == "number") {
+ if (value !== 0)
+ return "" + value;
+ } else if (true === value)
+ return "true";
+ else if (false === value)
+ return "false";
+ else if (value == null)
+ return "null";
+ res = J.toString$0$(value);
+ if (typeof res != "string")
+ throw H.wrapException(H.argumentErrorValue(value));
+ return res;
+ },
+ Primitives_objectHashCode: function(object) {
+ var hash = object.$identityHash;
+ if (hash == null) {
+ hash = Math.random() * 0x3fffffff | 0;
+ object.$identityHash = hash;
+ }
+ return hash;
+ },
+ Primitives_parseInt: function(source, radix) {
+ var match, decimalMatch;
+ if (typeof source != "string")
+ H.throwExpression(H.argumentErrorValue(source));
+ match = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(source);
+ if (match == null)
+ return null;
+ if (3 >= match.length)
+ return H.ioore(match, 3);
+ decimalMatch = match[3];
+ if (decimalMatch != null)
+ return parseInt(source, 10);
+ if (match[2] != null)
+ return parseInt(source, 16);
+ return null;
+ },
+ Primitives_objectTypeName: function(object) {
+ var t1 = H.Primitives__objectTypeNameNewRti(object);
+ return t1;
+ },
+ Primitives__objectTypeNameNewRti: function(object) {
+ var dispatchName, $constructor, constructorName;
+ if (object instanceof P.Object)
+ return H._rtiToString(H.instanceType(object), null);
+ if (J.getInterceptor$(object) === C.Interceptor_methods || type$.UnknownJavaScriptObject._is(object)) {
+ dispatchName = C.C_JS_CONST(object);
+ if (H.Primitives__saneNativeClassName(dispatchName))
+ return dispatchName;
+ $constructor = object.constructor;
+ if (typeof $constructor == "function") {
+ constructorName = $constructor.name;
+ if (typeof constructorName == "string" && H.Primitives__saneNativeClassName(constructorName))
+ return constructorName;
+ }
+ }
+ return H._rtiToString(H.instanceType(object), null);
+ },
+ Primitives__saneNativeClassName: function($name) {
+ var t1 = $name !== "Object" && $name !== "";
+ return t1;
+ },
+ Primitives__fromCharCodeApply: function(array) {
+ var result, i, i0, chunkEnd,
+ end = array.length;
+ if (end <= 500)
+ return String.fromCharCode.apply(null, array);
+ for (result = "", i = 0; i < end; i = i0) {
+ i0 = i + 500;
+ chunkEnd = i0 < end ? i0 : end;
+ result += String.fromCharCode.apply(null, array.slice(i, chunkEnd));
+ }
+ return result;
+ },
+ Primitives_stringFromCodePoints: function(codePoints) {
+ var t1, _i, i,
+ a = H.setRuntimeTypeInfo([], type$.JSArray_int);
+ for (t1 = codePoints.length, _i = 0; _i < codePoints.length; codePoints.length === t1 || (0, H.throwConcurrentModificationError)(codePoints), ++_i) {
+ i = codePoints[_i];
+ if (!H._isInt(i))
+ throw H.wrapException(H.argumentErrorValue(i));
+ if (i <= 65535)
+ C.JSArray_methods.add$1(a, i);
+ else if (i <= 1114111) {
+ C.JSArray_methods.add$1(a, 55296 + (C.JSInt_methods._shrOtherPositive$1(i - 65536, 10) & 1023));
+ C.JSArray_methods.add$1(a, 56320 + (i & 1023));
+ } else
+ throw H.wrapException(H.argumentErrorValue(i));
+ }
+ return H.Primitives__fromCharCodeApply(a);
+ },
+ Primitives_stringFromCharCodes: function(charCodes) {
+ var t1, _i, i;
+ for (t1 = charCodes.length, _i = 0; _i < t1; ++_i) {
+ i = charCodes[_i];
+ if (!H._isInt(i))
+ throw H.wrapException(H.argumentErrorValue(i));
+ if (i < 0)
+ throw H.wrapException(H.argumentErrorValue(i));
+ if (i > 65535)
+ return H.Primitives_stringFromCodePoints(charCodes);
+ }
+ return H.Primitives__fromCharCodeApply(charCodes);
+ },
+ Primitives_stringFromNativeUint8List: function(charCodes, start, end) {
+ var i, result, i0, chunkEnd;
+ if (end <= 500 && start === 0 && end === charCodes.length)
+ return String.fromCharCode.apply(null, charCodes);
+ for (i = start, result = ""; i < end; i = i0) {
+ i0 = i + 500;
+ chunkEnd = i0 < end ? i0 : end;
+ result += String.fromCharCode.apply(null, charCodes.subarray(i, chunkEnd));
+ }
+ return result;
+ },
+ Primitives_stringFromCharCode: function(charCode) {
+ var bits;
+ if (charCode <= 65535)
+ return String.fromCharCode(charCode);
+ if (charCode <= 1114111) {
+ bits = charCode - 65536;
+ return String.fromCharCode((55296 | C.JSInt_methods._shrOtherPositive$1(bits, 10)) >>> 0, 56320 | bits & 1023);
+ }
+ throw H.wrapException(P.RangeError$range(charCode, 0, 1114111, null, null));
+ },
+ Primitives_lazyAsJsDate: function(receiver) {
+ if (receiver.date === void 0)
+ receiver.date = new Date(receiver._value);
+ return receiver.date;
+ },
+ Primitives_getYear: function(receiver) {
+ return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCFullYear() + 0 : H.Primitives_lazyAsJsDate(receiver).getFullYear() + 0;
+ },
+ Primitives_getMonth: function(receiver) {
+ return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCMonth() + 1 : H.Primitives_lazyAsJsDate(receiver).getMonth() + 1;
+ },
+ Primitives_getDay: function(receiver) {
+ return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCDate() + 0 : H.Primitives_lazyAsJsDate(receiver).getDate() + 0;
+ },
+ Primitives_getHours: function(receiver) {
+ return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCHours() + 0 : H.Primitives_lazyAsJsDate(receiver).getHours() + 0;
+ },
+ Primitives_getMinutes: function(receiver) {
+ return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCMinutes() + 0 : H.Primitives_lazyAsJsDate(receiver).getMinutes() + 0;
+ },
+ Primitives_getSeconds: function(receiver) {
+ return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCSeconds() + 0 : H.Primitives_lazyAsJsDate(receiver).getSeconds() + 0;
+ },
+ Primitives_getMilliseconds: function(receiver) {
+ return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCMilliseconds() + 0 : H.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0;
+ },
+ Primitives_functionNoSuchMethod: function($function, positionalArguments, namedArguments) {
+ var $arguments, namedArgumentList, t1 = {};
+ t1.argumentCount = 0;
+ $arguments = [];
+ namedArgumentList = [];
+ t1.argumentCount = positionalArguments.length;
+ C.JSArray_methods.addAll$1($arguments, positionalArguments);
+ t1.names = "";
+ if (namedArguments != null && !namedArguments.get$isEmpty(namedArguments))
+ namedArguments.forEach$1(0, new H.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments));
+ "" + t1.argumentCount;
+ return J.noSuchMethod$1$($function, new H.JSInvocationMirror(C.Symbol_call, 0, $arguments, namedArgumentList, 0));
+ },
+ Primitives_applyFunction: function($function, positionalArguments, namedArguments) {
+ var t1, $arguments, argumentCount, jsStub;
+ if (positionalArguments instanceof Array)
+ t1 = namedArguments == null || namedArguments.get$isEmpty(namedArguments);
+ else
+ t1 = false;
+ if (t1) {
+ $arguments = positionalArguments;
+ argumentCount = $arguments.length;
+ if (argumentCount === 0) {
+ if (!!$function.call$0)
+ return $function.call$0();
+ } else if (argumentCount === 1) {
+ if (!!$function.call$1)
+ return $function.call$1($arguments[0]);
+ } else if (argumentCount === 2) {
+ if (!!$function.call$2)
+ return $function.call$2($arguments[0], $arguments[1]);
+ } else if (argumentCount === 3) {
+ if (!!$function.call$3)
+ return $function.call$3($arguments[0], $arguments[1], $arguments[2]);
+ } else if (argumentCount === 4) {
+ if (!!$function.call$4)
+ return $function.call$4($arguments[0], $arguments[1], $arguments[2], $arguments[3]);
+ } else if (argumentCount === 5)
+ if (!!$function.call$5)
+ return $function.call$5($arguments[0], $arguments[1], $arguments[2], $arguments[3], $arguments[4]);
+ jsStub = $function["call" + "$" + argumentCount];
+ if (jsStub != null)
+ return jsStub.apply($function, $arguments);
+ }
+ return H.Primitives__genericApplyFunction2($function, positionalArguments, namedArguments);
+ },
+ Primitives__genericApplyFunction2: function($function, positionalArguments, namedArguments) {
+ var $arguments, argumentCount, requiredParameterCount, defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, keys, _i, defaultValue, used, key;
+ if (positionalArguments != null)
+ $arguments = positionalArguments instanceof Array ? positionalArguments : P.List_List$from(positionalArguments, true, type$.dynamic);
+ else
+ $arguments = [];
+ argumentCount = $arguments.length;
+ requiredParameterCount = $function.$requiredArgCount;
+ if (argumentCount < requiredParameterCount)
+ return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
+ defaultValuesClosure = $function.$defaultValues;
+ t1 = defaultValuesClosure == null;
+ defaultValues = !t1 ? defaultValuesClosure() : null;
+ interceptor = J.getInterceptor$($function);
+ jsFunction = interceptor["call*"];
+ if (typeof jsFunction == "string")
+ jsFunction = interceptor[jsFunction];
+ if (t1) {
+ if (namedArguments != null && namedArguments.get$isNotEmpty(namedArguments))
+ return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
+ if (argumentCount === requiredParameterCount)
+ return jsFunction.apply($function, $arguments);
+ return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
+ }
+ if (defaultValues instanceof Array) {
+ if (namedArguments != null && namedArguments.get$isNotEmpty(namedArguments))
+ return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
+ if (argumentCount > requiredParameterCount + defaultValues.length)
+ return H.Primitives_functionNoSuchMethod($function, $arguments, null);
+ C.JSArray_methods.addAll$1($arguments, defaultValues.slice(argumentCount - requiredParameterCount));
+ return jsFunction.apply($function, $arguments);
+ } else {
+ if (argumentCount > requiredParameterCount)
+ return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
+ keys = Object.keys(defaultValues);
+ if (namedArguments == null)
+ for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) {
+ defaultValue = defaultValues[H._asStringS(keys[_i])];
+ if (C.C__Required === defaultValue)
+ return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
+ C.JSArray_methods.add$1($arguments, defaultValue);
+ }
+ else {
+ for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) {
+ key = H._asStringS(keys[_i]);
+ if (namedArguments.containsKey$1(key)) {
+ ++used;
+ C.JSArray_methods.add$1($arguments, namedArguments.$index(0, key));
+ } else {
+ defaultValue = defaultValues[key];
+ if (C.C__Required === defaultValue)
+ return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
+ C.JSArray_methods.add$1($arguments, defaultValue);
+ }
+ }
+ if (used !== namedArguments.get$length(namedArguments))
+ return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
+ }
+ return jsFunction.apply($function, $arguments);
+ }
+ },
+ iae: function(argument) {
+ throw H.wrapException(H.argumentErrorValue(argument));
+ },
+ ioore: function(receiver, index) {
+ if (receiver == null)
+ J.get$length$asx(receiver);
+ throw H.wrapException(H.diagnoseIndexError(receiver, index));
+ },
+ diagnoseIndexError: function(indexable, index) {
+ var $length, t1, _s5_ = "index";
+ if (!H._isInt(index))
+ return new P.ArgumentError(true, index, _s5_, null);
+ $length = H._asIntS(J.get$length$asx(indexable));
+ if (!(index < 0)) {
+ if (typeof $length !== "number")
+ return H.iae($length);
+ t1 = index >= $length;
+ } else
+ t1 = true;
+ if (t1)
+ return P.IndexError$(index, indexable, _s5_, null, $length);
+ return P.RangeError$value(index, _s5_);
+ },
+ argumentErrorValue: function(object) {
+ return new P.ArgumentError(true, object, null, null);
+ },
+ checkBool: function(value) {
+ return value;
+ },
+ wrapException: function(ex) {
+ var wrapper, t1;
+ if (ex == null)
+ ex = new P.NullThrownError();
+ wrapper = new Error();
+ wrapper.dartException = ex;
+ t1 = H.toStringWrapper;
+ if ("defineProperty" in Object) {
+ Object.defineProperty(wrapper, "message", {get: t1});
+ wrapper.name = "";
+ } else
+ wrapper.toString = t1;
+ return wrapper;
+ },
+ toStringWrapper: function() {
+ return J.toString$0$(this.dartException);
+ },
+ throwExpression: function(ex) {
+ throw H.wrapException(ex);
+ },
+ throwConcurrentModificationError: function(collection) {
+ throw H.wrapException(P.ConcurrentModificationError$(collection));
+ },
+ TypeErrorDecoder_extractPattern: function(message) {
+ var match, $arguments, argumentsExpr, expr, method, receiver;
+ message = H.quoteStringForRegExp(message.replace(String({}), '$receiver$'));
+ match = message.match(/\\\$[a-zA-Z]+\\\$/g);
+ if (match == null)
+ match = H.setRuntimeTypeInfo([], type$.JSArray_String);
+ $arguments = match.indexOf("\\$arguments\\$");
+ argumentsExpr = match.indexOf("\\$argumentsExpr\\$");
+ expr = match.indexOf("\\$expr\\$");
+ method = match.indexOf("\\$method\\$");
+ receiver = match.indexOf("\\$receiver\\$");
+ return new H.TypeErrorDecoder(message.replace(new RegExp('\\\\\\$arguments\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$argumentsExpr\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$expr\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$method\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$receiver\\\\\\$', 'g'), '((?:x|[^x])*)'), $arguments, argumentsExpr, expr, method, receiver);
+ },
+ TypeErrorDecoder_provokeCallErrorOn: function(expression) {
+ return function($expr$) {
+ var $argumentsExpr$ = '$arguments$';
+ try {
+ $expr$.$method$($argumentsExpr$);
+ } catch (e) {
+ return e.message;
+ }
+ }(expression);
+ },
+ TypeErrorDecoder_provokePropertyErrorOn: function(expression) {
+ return function($expr$) {
+ try {
+ $expr$.$method$;
+ } catch (e) {
+ return e.message;
+ }
+ }(expression);
+ },
+ NullError$: function(_message, match) {
+ return new H.NullError(_message, match == null ? null : match.method);
+ },
+ JsNoSuchMethodError$: function(_message, match) {
+ var t1 = match == null,
+ t2 = t1 ? null : match.method;
+ return new H.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver);
+ },
+ unwrapException: function(ex) {
+ if (ex == null)
+ return new H.NullThrownFromJavaScriptException(ex);
+ if (ex instanceof H.ExceptionAndStackTrace)
+ return H.saveStackTrace(ex, ex.dartException);
+ if (typeof ex !== "object")
+ return ex;
+ if ("dartException" in ex)
+ return H.saveStackTrace(ex, ex.dartException);
+ return H._unwrapNonDartException(ex);
+ },
+ saveStackTrace: function(ex, error) {
+ if (type$.Error._is(error))
+ if (error.$thrownJsError == null)
+ error.$thrownJsError = ex;
+ return error;
+ },
+ _unwrapNonDartException: function(ex) {
+ var message, number, ieErrorCode, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match, t1, _null = null;
+ if (!("message" in ex))
+ return ex;
+ message = ex.message;
+ if ("number" in ex && typeof ex.number == "number") {
+ number = ex.number;
+ ieErrorCode = number & 65535;
+ if ((C.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10)
+ switch (ieErrorCode) {
+ case 438:
+ return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H.S(message) + " (Error " + ieErrorCode + ")", _null));
+ case 445:
+ case 5007:
+ return H.saveStackTrace(ex, H.NullError$(H.S(message) + " (Error " + ieErrorCode + ")", _null));
+ }
+ }
+ if (ex instanceof TypeError) {
+ nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern();
+ notClosure = $.$get$TypeErrorDecoder_notClosurePattern();
+ nullCall = $.$get$TypeErrorDecoder_nullCallPattern();
+ nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern();
+ undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern();
+ undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern();
+ nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern();
+ $.$get$TypeErrorDecoder_nullLiteralPropertyPattern();
+ undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern();
+ undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern();
+ match = nsme.matchTypeError$1(message);
+ if (match != null)
+ return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H._asStringS(message), match));
+ else {
+ match = notClosure.matchTypeError$1(message);
+ if (match != null) {
+ match.method = "call";
+ return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H._asStringS(message), match));
+ } else {
+ match = nullCall.matchTypeError$1(message);
+ if (match == null) {
+ match = nullLiteralCall.matchTypeError$1(message);
+ if (match == null) {
+ match = undefCall.matchTypeError$1(message);
+ if (match == null) {
+ match = undefLiteralCall.matchTypeError$1(message);
+ if (match == null) {
+ match = nullProperty.matchTypeError$1(message);
+ if (match == null) {
+ match = nullLiteralCall.matchTypeError$1(message);
+ if (match == null) {
+ match = undefProperty.matchTypeError$1(message);
+ if (match == null) {
+ match = undefLiteralProperty.matchTypeError$1(message);
+ t1 = match != null;
+ } else
+ t1 = true;
+ } else
+ t1 = true;
+ } else
+ t1 = true;
+ } else
+ t1 = true;
+ } else
+ t1 = true;
+ } else
+ t1 = true;
+ } else
+ t1 = true;
+ if (t1)
+ return H.saveStackTrace(ex, H.NullError$(H._asStringS(message), match));
+ }
+ }
+ return H.saveStackTrace(ex, new H.UnknownJsTypeError(typeof message == "string" ? message : ""));
+ }
+ if (ex instanceof RangeError) {
+ if (typeof message == "string" && message.indexOf("call stack") !== -1)
+ return new P.StackOverflowError();
+ message = function(ex) {
+ try {
+ return String(ex);
+ } catch (e) {
+ }
+ return null;
+ }(ex);
+ return H.saveStackTrace(ex, new P.ArgumentError(false, _null, _null, typeof message == "string" ? message.replace(/^RangeError:\s*/, "") : message));
+ }
+ if (typeof InternalError == "function" && ex instanceof InternalError)
+ if (typeof message == "string" && message === "too much recursion")
+ return new P.StackOverflowError();
+ return ex;
+ },
+ getTraceFromException: function(exception) {
+ var trace;
+ if (exception instanceof H.ExceptionAndStackTrace)
+ return exception.stackTrace;
+ if (exception == null)
+ return new H._StackTrace(exception);
+ trace = exception.$cachedTrace;
+ if (trace != null)
+ return trace;
+ return exception.$cachedTrace = new H._StackTrace(exception);
+ },
+ fillLiteralMap: function(keyValuePairs, result) {
+ var index, index0, index1,
+ $length = keyValuePairs.length;
+ for (index = 0; index < $length; index = index1) {
+ index0 = index + 1;
+ index1 = index0 + 1;
+ result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]);
+ }
+ return result;
+ },
+ invokeClosure: function(closure, numberOfArguments, arg1, arg2, arg3, arg4) {
+ type$.Function._as(closure);
+ switch (H._asIntS(numberOfArguments)) {
+ case 0:
+ return closure.call$0();
+ case 1:
+ return closure.call$1(arg1);
+ case 2:
+ return closure.call$2(arg1, arg2);
+ case 3:
+ return closure.call$3(arg1, arg2, arg3);
+ case 4:
+ return closure.call$4(arg1, arg2, arg3, arg4);
+ }
+ throw H.wrapException(P.Exception_Exception("Unsupported number of arguments for wrapped closure"));
+ },
+ convertDartClosureToJS: function(closure, arity) {
+ var $function;
+ if (closure == null)
+ return null;
+ $function = closure.$identity;
+ if (!!$function)
+ return $function;
+ $function = function(closure, arity, invoke) {
+ return function(a1, a2, a3, a4) {
+ return invoke(closure, arity, a1, a2, a3, a4);
+ };
+ }(closure, arity, H.invokeClosure);
+ closure.$identity = $function;
+ return $function;
+ },
+ Closure_fromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, propertyName) {
+ var $constructor, t1, trampoline, signatureFunction, applyTrampoline, i, stub, stubCallName,
+ $function = functions[0],
+ callName = $function.$callName,
+ $prototype = isStatic ? Object.create(new H.StaticClosure().constructor.prototype) : Object.create(new H.BoundClosure(null, null, null, "").constructor.prototype);
+ $prototype.$initialize = $prototype.constructor;
+ if (isStatic)
+ $constructor = function static_tear_off() {
+ this.$initialize();
+ };
+ else {
+ t1 = $.Closure_functionCounter;
+ if (typeof t1 !== "number")
+ return t1.$add();
+ $.Closure_functionCounter = t1 + 1;
+ t1 = new Function("a,b,c,d" + t1, "this.$initialize(a,b,c,d" + t1 + ")");
+ $constructor = t1;
+ }
+ $prototype.constructor = $constructor;
+ $constructor.prototype = $prototype;
+ if (!isStatic) {
+ trampoline = H.Closure_forwardCallTo(receiver, $function, isIntercepted);
+ trampoline.$reflectionInfo = reflectionInfo;
+ } else {
+ $prototype.$static_name = propertyName;
+ trampoline = $function;
+ }
+ signatureFunction = H.Closure__computeSignatureFunctionNewRti(reflectionInfo, isStatic, isIntercepted);
+ $prototype.$signature = signatureFunction;
+ $prototype[callName] = trampoline;
+ for (applyTrampoline = trampoline, i = 1; i < functions.length; ++i) {
+ stub = functions[i];
+ stubCallName = stub.$callName;
+ if (stubCallName != null) {
+ stub = isStatic ? stub : H.Closure_forwardCallTo(receiver, stub, isIntercepted);
+ $prototype[stubCallName] = stub;
+ }
+ if (i === applyTrampolineIndex) {
+ stub.$reflectionInfo = reflectionInfo;
+ applyTrampoline = stub;
+ }
+ }
+ $prototype["call*"] = applyTrampoline;
+ $prototype.$requiredArgCount = $function.$requiredArgCount;
+ $prototype.$defaultValues = $function.$defaultValues;
+ return $constructor;
+ },
+ Closure__computeSignatureFunctionNewRti: function(functionType, isStatic, isIntercepted) {
+ var typeEvalMethod;
+ if (typeof functionType == "number")
+ return function(getType, t) {
+ return function() {
+ return getType(t);
+ };
+ }(H.getTypeFromTypesTable, functionType);
+ if (typeof functionType == "string") {
+ if (isStatic)
+ throw H.wrapException("Cannot compute signature for static tearoff.");
+ typeEvalMethod = isIntercepted ? H.BoundClosure_evalRecipeIntercepted : H.BoundClosure_evalRecipe;
+ return function(recipe, evalOnReceiver) {
+ return function() {
+ return evalOnReceiver(this, recipe);
+ };
+ }(functionType, typeEvalMethod);
+ }
+ throw H.wrapException("Error in functionType of tearoff");
+ },
+ Closure_cspForwardCall: function(arity, isSuperCall, stubName, $function) {
+ var getSelf = H.BoundClosure_selfOf;
+ switch (isSuperCall ? -1 : arity) {
+ case 0:
+ return function(n, S) {
+ return function() {
+ return S(this)[n]();
+ };
+ }(stubName, getSelf);
+ case 1:
+ return function(n, S) {
+ return function(a) {
+ return S(this)[n](a);
+ };
+ }(stubName, getSelf);
+ case 2:
+ return function(n, S) {
+ return function(a, b) {
+ return S(this)[n](a, b);
+ };
+ }(stubName, getSelf);
+ case 3:
+ return function(n, S) {
+ return function(a, b, c) {
+ return S(this)[n](a, b, c);
+ };
+ }(stubName, getSelf);
+ case 4:
+ return function(n, S) {
+ return function(a, b, c, d) {
+ return S(this)[n](a, b, c, d);
+ };
+ }(stubName, getSelf);
+ case 5:
+ return function(n, S) {
+ return function(a, b, c, d, e) {
+ return S(this)[n](a, b, c, d, e);
+ };
+ }(stubName, getSelf);
+ default:
+ return function(f, s) {
+ return function() {
+ return f.apply(s(this), arguments);
+ };
+ }($function, getSelf);
+ }
+ },
+ Closure_forwardCallTo: function(receiver, $function, isIntercepted) {
+ var stubName, arity, lookedUpFunction, t1, t2, selfName, $arguments;
+ if (isIntercepted)
+ return H.Closure_forwardInterceptedCallTo(receiver, $function);
+ stubName = $function.$stubName;
+ arity = $function.length;
+ lookedUpFunction = receiver[stubName];
+ t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction;
+ t2 = !t1 || arity >= 27;
+ if (t2)
+ return H.Closure_cspForwardCall(arity, !t1, stubName, $function);
+ if (arity === 0) {
+ t1 = $.Closure_functionCounter;
+ if (typeof t1 !== "number")
+ return t1.$add();
+ $.Closure_functionCounter = t1 + 1;
+ selfName = "self" + t1;
+ return new Function("return function(){var " + selfName + " = this." + H.S(H.BoundClosure_selfFieldName()) + ";return " + selfName + "." + H.S(stubName) + "();}")();
+ }
+ $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity).join(",");
+ t1 = $.Closure_functionCounter;
+ if (typeof t1 !== "number")
+ return t1.$add();
+ $.Closure_functionCounter = t1 + 1;
+ $arguments += t1;
+ return new Function("return function(" + $arguments + "){return this." + H.S(H.BoundClosure_selfFieldName()) + "." + H.S(stubName) + "(" + $arguments + ");}")();
+ },
+ Closure_cspForwardInterceptedCall: function(arity, isSuperCall, $name, $function) {
+ var getSelf = H.BoundClosure_selfOf,
+ getReceiver = H.BoundClosure_receiverOf;
+ switch (isSuperCall ? -1 : arity) {
+ case 0:
+ throw H.wrapException(H.RuntimeError$("Intercepted function with no arguments."));
+ case 1:
+ return function(n, s, r) {
+ return function() {
+ return s(this)[n](r(this));
+ };
+ }($name, getSelf, getReceiver);
+ case 2:
+ return function(n, s, r) {
+ return function(a) {
+ return s(this)[n](r(this), a);
+ };
+ }($name, getSelf, getReceiver);
+ case 3:
+ return function(n, s, r) {
+ return function(a, b) {
+ return s(this)[n](r(this), a, b);
+ };
+ }($name, getSelf, getReceiver);
+ case 4:
+ return function(n, s, r) {
+ return function(a, b, c) {
+ return s(this)[n](r(this), a, b, c);
+ };
+ }($name, getSelf, getReceiver);
+ case 5:
+ return function(n, s, r) {
+ return function(a, b, c, d) {
+ return s(this)[n](r(this), a, b, c, d);
+ };
+ }($name, getSelf, getReceiver);
+ case 6:
+ return function(n, s, r) {
+ return function(a, b, c, d, e) {
+ return s(this)[n](r(this), a, b, c, d, e);
+ };
+ }($name, getSelf, getReceiver);
+ default:
+ return function(f, s, r, a) {
+ return function() {
+ a = [r(this)];
+ Array.prototype.push.apply(a, arguments);
+ return f.apply(s(this), a);
+ };
+ }($function, getSelf, getReceiver);
+ }
+ },
+ Closure_forwardInterceptedCallTo: function(receiver, $function) {
+ var stubName, arity, lookedUpFunction, t1, t2, $arguments,
+ selfField = H.BoundClosure_selfFieldName(),
+ receiverField = $.BoundClosure_receiverFieldNameCache;
+ if (receiverField == null)
+ receiverField = $.BoundClosure_receiverFieldNameCache = H.BoundClosure_computeFieldNamed("receiver");
+ stubName = $function.$stubName;
+ arity = $function.length;
+ lookedUpFunction = receiver[stubName];
+ t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction;
+ t2 = !t1 || arity >= 28;
+ if (t2)
+ return H.Closure_cspForwardInterceptedCall(arity, !t1, stubName, $function);
+ if (arity === 1) {
+ t1 = "return function(){return this." + H.S(selfField) + "." + H.S(stubName) + "(this." + receiverField + ");";
+ t2 = $.Closure_functionCounter;
+ if (typeof t2 !== "number")
+ return t2.$add();
+ $.Closure_functionCounter = t2 + 1;
+ return new Function(t1 + t2 + "}")();
+ }
+ $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity - 1).join(",");
+ t1 = "return function(" + $arguments + "){return this." + H.S(selfField) + "." + H.S(stubName) + "(this." + receiverField + ", " + $arguments + ");";
+ t2 = $.Closure_functionCounter;
+ if (typeof t2 !== "number")
+ return t2.$add();
+ $.Closure_functionCounter = t2 + 1;
+ return new Function(t1 + t2 + "}")();
+ },
+ closureFromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, $name) {
+ return H.Closure_fromTearOff(receiver, functions, applyTrampolineIndex, reflectionInfo, !!isStatic, !!isIntercepted, $name);
+ },
+ BoundClosure_evalRecipe: function(closure, recipe) {
+ return H._Universe_evalInEnvironment(init.typeUniverse, H.instanceType(closure._self), recipe);
+ },
+ BoundClosure_evalRecipeIntercepted: function(closure, recipe) {
+ return H._Universe_evalInEnvironment(init.typeUniverse, H.instanceType(closure._receiver), recipe);
+ },
+ BoundClosure_selfOf: function(closure) {
+ return closure._self;
+ },
+ BoundClosure_receiverOf: function(closure) {
+ return closure._receiver;
+ },
+ BoundClosure_selfFieldName: function() {
+ var t1 = $.BoundClosure_selfFieldNameCache;
+ return t1 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t1;
+ },
+ BoundClosure_computeFieldNamed: function(fieldName) {
+ var t1, i, $name,
+ template = new H.BoundClosure("self", "target", "receiver", "name"),
+ names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template), type$.dynamic);
+ for (t1 = names.length, i = 0; i < t1; ++i) {
+ $name = names[i];
+ if (template[$name] === fieldName)
+ return $name;
+ }
+ throw H.wrapException(P.ArgumentError$("Field name " + fieldName + " not found."));
+ },
+ boolConversionCheck: function(value) {
+ if (value == null)
+ H.assertThrow("boolean expression must not be null");
+ return value;
+ },
+ assertThrow: function(message) {
+ throw H.wrapException(new H._AssertionError(message));
+ },
+ throwCyclicInit: function(staticName) {
+ throw H.wrapException(new P.CyclicInitializationError(staticName));
+ },
+ RuntimeError$: function(message) {
+ return new H.RuntimeError(message);
+ },
+ getIsolateAffinityTag: function($name) {
+ return init.getIsolateTag($name);
+ },
+ setRuntimeTypeInfo: function(target, rti) {
+ target[init.arrayRti] = rti;
+ return target;
+ },
+ getRuntimeTypeInfo: function(target) {
+ if (target == null)
+ return null;
+ return target.$ti;
+ },
+ getRuntimeTypeArguments: function(interceptor, object, substitutionName) {
+ return H.substitute(interceptor["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(object));
+ },
+ getRuntimeType: function(object) {
+ var rti = object instanceof H.Closure ? H.closureFunctionType(object) : null;
+ return H.createRuntimeType(rti == null ? H.instanceType(object) : rti);
+ },
+ substitute: function(substitution, $arguments) {
+ if (substitution == null)
+ return $arguments;
+ substitution = substitution.apply(null, $arguments);
+ if (substitution == null)
+ return null;
+ if (Array.isArray(substitution))
+ return substitution;
+ if (typeof substitution == "function")
+ return substitution.apply(null, $arguments);
+ return $arguments;
+ },
+ computeSignature: function(signature, context, contextName) {
+ return signature.apply(context, H.getRuntimeTypeArguments(J.getInterceptor$(context), context, contextName));
+ },
+ defineProperty: function(obj, property, value) {
+ Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true});
+ },
+ lookupAndCacheInterceptor: function(obj) {
+ var interceptor, interceptorClass, altTag, mark, t1,
+ tag = H._asStringS($.getTagFunction.call$1(obj)),
+ record = $.dispatchRecordsForInstanceTags[tag];
+ if (record != null) {
+ Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
+ return record.i;
+ }
+ interceptor = $.interceptorsForUncacheableTags[tag];
+ if (interceptor != null)
+ return interceptor;
+ interceptorClass = init.interceptorsByTag[tag];
+ if (interceptorClass == null) {
+ altTag = H._asStringQ($.alternateTagFunction.call$2(obj, tag));
+ if (altTag != null) {
+ record = $.dispatchRecordsForInstanceTags[altTag];
+ if (record != null) {
+ Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
+ return record.i;
+ }
+ interceptor = $.interceptorsForUncacheableTags[altTag];
+ if (interceptor != null)
+ return interceptor;
+ interceptorClass = init.interceptorsByTag[altTag];
+ tag = altTag;
+ }
+ }
+ if (interceptorClass == null)
+ return null;
+ interceptor = interceptorClass.prototype;
+ mark = tag[0];
+ if (mark === "!") {
+ record = H.makeLeafDispatchRecord(interceptor);
+ $.dispatchRecordsForInstanceTags[tag] = record;
+ Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
+ return record.i;
+ }
+ if (mark === "~") {
+ $.interceptorsForUncacheableTags[tag] = interceptor;
+ return interceptor;
+ }
+ if (mark === "-") {
+ t1 = H.makeLeafDispatchRecord(interceptor);
+ Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true});
+ return t1.i;
+ }
+ if (mark === "+")
+ return H.patchInteriorProto(obj, interceptor);
+ if (mark === "*")
+ throw H.wrapException(P.UnimplementedError$(tag));
+ if (init.leafTags[tag] === true) {
+ t1 = H.makeLeafDispatchRecord(interceptor);
+ Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true});
+ return t1.i;
+ } else
+ return H.patchInteriorProto(obj, interceptor);
+ },
+ patchInteriorProto: function(obj, interceptor) {
+ var proto = Object.getPrototypeOf(obj);
+ Object.defineProperty(proto, init.dispatchPropertyName, {value: J.makeDispatchRecord(interceptor, proto, null, null), enumerable: false, writable: true, configurable: true});
+ return interceptor;
+ },
+ makeLeafDispatchRecord: function(interceptor) {
+ return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior);
+ },
+ makeDefaultDispatchRecord: function(tag, interceptorClass, proto) {
+ var interceptor = interceptorClass.prototype;
+ if (init.leafTags[tag] === true)
+ return H.makeLeafDispatchRecord(interceptor);
+ else
+ return J.makeDispatchRecord(interceptor, proto, null, null);
+ },
+ initNativeDispatch: function() {
+ if (true === $.initNativeDispatchFlag)
+ return;
+ $.initNativeDispatchFlag = true;
+ H.initNativeDispatchContinue();
+ },
+ initNativeDispatchContinue: function() {
+ var map, tags, fun, i, tag, proto, record, interceptorClass;
+ $.dispatchRecordsForInstanceTags = Object.create(null);
+ $.interceptorsForUncacheableTags = Object.create(null);
+ H.initHooks();
+ map = init.interceptorsByTag;
+ tags = Object.getOwnPropertyNames(map);
+ if (typeof window != "undefined") {
+ window;
+ fun = function() {
+ };
+ for (i = 0; i < tags.length; ++i) {
+ tag = tags[i];
+ proto = $.prototypeForTagFunction.call$1(tag);
+ if (proto != null) {
+ record = H.makeDefaultDispatchRecord(tag, map[tag], proto);
+ if (record != null) {
+ Object.defineProperty(proto, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
+ fun.prototype = proto;
+ }
+ }
+ }
+ }
+ for (i = 0; i < tags.length; ++i) {
+ tag = tags[i];
+ if (/^[A-Za-z_]/.test(tag)) {
+ interceptorClass = map[tag];
+ map["!" + tag] = interceptorClass;
+ map["~" + tag] = interceptorClass;
+ map["-" + tag] = interceptorClass;
+ map["+" + tag] = interceptorClass;
+ map["*" + tag] = interceptorClass;
+ }
+ }
+ },
+ initHooks: function() {
+ var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag,
+ hooks = C.C_JS_CONST0();
+ hooks = H.applyHooksTransformer(C.C_JS_CONST1, H.applyHooksTransformer(C.C_JS_CONST2, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST4, H.applyHooksTransformer(C.C_JS_CONST5, H.applyHooksTransformer(C.C_JS_CONST6(C.C_JS_CONST), hooks)))))));
+ if (typeof dartNativeDispatchHooksTransformer != "undefined") {
+ transformers = dartNativeDispatchHooksTransformer;
+ if (typeof transformers == "function")
+ transformers = [transformers];
+ if (transformers.constructor == Array)
+ for (i = 0; i < transformers.length; ++i) {
+ transformer = transformers[i];
+ if (typeof transformer == "function")
+ hooks = transformer(hooks) || hooks;
+ }
+ }
+ getTag = hooks.getTag;
+ getUnknownTag = hooks.getUnknownTag;
+ prototypeForTag = hooks.prototypeForTag;
+ $.getTagFunction = new H.initHooks_closure(getTag);
+ $.alternateTagFunction = new H.initHooks_closure0(getUnknownTag);
+ $.prototypeForTagFunction = new H.initHooks_closure1(prototypeForTag);
+ },
+ applyHooksTransformer: function(transformer, hooks) {
+ return transformer(hooks) || hooks;
+ },
+ quoteStringForRegExp: function(string) {
+ if (/[[\]{}()*+?.\\^$|]/.test(string))
+ return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&");
+ return string;
+ },
+ ConstantMapView: function ConstantMapView(t0, t1) {
+ this._collection$_map = t0;
+ this.$ti = t1;
+ },
+ ConstantMap: function ConstantMap() {
+ },
+ ConstantMap_map_closure: function ConstantMap_map_closure(t0, t1, t2) {
+ this.$this = t0;
+ this.transform = t1;
+ this.result = t2;
+ },
+ ConstantStringMap: function ConstantStringMap(t0, t1, t2, t3) {
+ var _ = this;
+ _._length = t0;
+ _._jsObject = t1;
+ _._keys = t2;
+ _.$ti = t3;
+ },
+ _ConstantMapKeyIterable: function _ConstantMapKeyIterable(t0, t1) {
+ this._map = t0;
+ this.$ti = t1;
+ },
+ JSInvocationMirror: function JSInvocationMirror(t0, t1, t2, t3, t4) {
+ var _ = this;
+ _._memberName = t0;
+ _.__js_helper$_kind = t1;
+ _._arguments = t2;
+ _._namedArgumentNames = t3;
+ _._typeArgumentCount = t4;
+ },
+ Primitives_functionNoSuchMethod_closure: function Primitives_functionNoSuchMethod_closure(t0, t1, t2) {
+ this._box_0 = t0;
+ this.namedArgumentList = t1;
+ this.$arguments = t2;
+ },
+ TypeErrorDecoder: function TypeErrorDecoder(t0, t1, t2, t3, t4, t5) {
+ var _ = this;
+ _._pattern = t0;
+ _._arguments = t1;
+ _._argumentsExpr = t2;
+ _._expr = t3;
+ _._method = t4;
+ _._receiver = t5;
+ },
+ NullError: function NullError(t0, t1) {
+ this._message = t0;
+ this._method = t1;
+ },
+ JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) {
+ this._message = t0;
+ this._method = t1;
+ this._receiver = t2;
+ },
+ UnknownJsTypeError: function UnknownJsTypeError(t0) {
+ this._message = t0;
+ },
+ NullThrownFromJavaScriptException: function NullThrownFromJavaScriptException(t0) {
+ this._irritant = t0;
+ },
+ ExceptionAndStackTrace: function ExceptionAndStackTrace(t0, t1) {
+ this.dartException = t0;
+ this.stackTrace = t1;
+ },
+ _StackTrace: function _StackTrace(t0) {
+ this._exception = t0;
+ this._trace = null;
+ },
+ Closure: function Closure() {
+ },
+ TearOffClosure: function TearOffClosure() {
+ },
+ StaticClosure: function StaticClosure() {
+ },
+ BoundClosure: function BoundClosure(t0, t1, t2, t3) {
+ var _ = this;
+ _._self = t0;
+ _.__js_helper$_target = t1;
+ _._receiver = t2;
+ _._name = t3;
+ },
+ RuntimeError: function RuntimeError(t0) {
+ this.message = t0;
+ },
+ _AssertionError: function _AssertionError(t0) {
+ this.message = t0;
+ },
+ _Required: function _Required() {
+ },
+ JsLinkedHashMap: function JsLinkedHashMap(t0) {
+ var _ = this;
+ _._length = 0;
+ _._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null;
+ _._modifications = 0;
+ _.$ti = t0;
+ },
+ JsLinkedHashMap_addAll_closure: function JsLinkedHashMap_addAll_closure(t0) {
+ this.$this = t0;
+ },
+ LinkedHashMapCell: function LinkedHashMapCell(t0, t1) {
+ var _ = this;
+ _.hashMapCellKey = t0;
+ _.hashMapCellValue = t1;
+ _._previous = _._next = null;
+ },
+ LinkedHashMapKeyIterable: function LinkedHashMapKeyIterable(t0, t1) {
+ this._map = t0;
+ this.$ti = t1;
+ },
+ LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1, t2) {
+ var _ = this;
+ _._map = t0;
+ _._modifications = t1;
+ _.__js_helper$_current = _._cell = null;
+ _.$ti = t2;
+ },
+ initHooks_closure: function initHooks_closure(t0) {
+ this.getTag = t0;
+ },
+ initHooks_closure0: function initHooks_closure0(t0) {
+ this.getUnknownTag = t0;
+ },
+ initHooks_closure1: function initHooks_closure1(t0) {
+ this.prototypeForTag = t0;
+ },
+ _checkViewArguments: function(buffer, offsetInBytes, $length) {
+ },
+ _ensureNativeList: function(list) {
+ var t1, result, i;
+ if (type$.JSIndexable_dynamic._is(list))
+ return list;
+ t1 = J.getInterceptor$asx(list);
+ result = P.List_List$filled(t1.get$length(list), null, false, type$.dynamic);
+ for (i = 0; i < t1.get$length(list); ++i)
+ C.JSArray_methods.$indexSet(result, i, t1.$index(list, i));
+ return result;
+ },
+ NativeByteData_NativeByteData$view: function(buffer, offsetInBytes, $length) {
+ H._checkViewArguments(buffer, offsetInBytes, $length);
+ return $length == null ? new DataView(buffer, offsetInBytes) : new DataView(buffer, offsetInBytes, $length);
+ },
+ _checkValidIndex: function(index, list, $length) {
+ if (index >>> 0 !== index || index >= $length)
+ throw H.wrapException(H.diagnoseIndexError(list, index));
+ },
+ NativeByteBuffer: function NativeByteBuffer() {
+ },
+ NativeTypedData: function NativeTypedData() {
+ },
+ NativeByteData: function NativeByteData() {
+ },
+ NativeTypedArray: function NativeTypedArray() {
+ },
+ NativeTypedArrayOfDouble: function NativeTypedArrayOfDouble() {
+ },
+ NativeTypedArrayOfInt: function NativeTypedArrayOfInt() {
+ },
+ NativeFloat32List: function NativeFloat32List() {
+ },
+ NativeFloat64List: function NativeFloat64List() {
+ },
+ NativeInt16List: function NativeInt16List() {
+ },
+ NativeInt32List: function NativeInt32List() {
+ },
+ NativeInt8List: function NativeInt8List() {
+ },
+ NativeUint16List: function NativeUint16List() {
+ },
+ NativeUint32List: function NativeUint32List() {
+ },
+ NativeUint8ClampedList: function NativeUint8ClampedList() {
+ },
+ NativeUint8List: function NativeUint8List() {
+ },
+ _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin() {
+ },
+ _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin() {
+ },
+ _NativeTypedArrayOfInt_NativeTypedArray_ListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin() {
+ },
+ _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() {
+ },
+ Rti__getQuestionFromStar: function(universe, rti) {
+ var question = rti._precomputed1;
+ return question == null ? rti._precomputed1 = H._Universe__lookupQuestionRti(universe, rti._primary, true) : question;
+ },
+ Rti__getFutureFromFutureOr: function(universe, rti) {
+ var future = rti._precomputed1;
+ return future == null ? rti._precomputed1 = H._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]) : future;
+ },
+ Rti__isUnionOfFunctionType: function(rti) {
+ var kind = rti._kind;
+ if (kind === 6 || kind === 7 || kind === 8)
+ return H.Rti__isUnionOfFunctionType(rti._primary);
+ return kind === 11 || kind === 12;
+ },
+ Rti__getCanonicalRecipe: function(rti) {
+ return rti._canonicalRecipe;
+ },
+ findType: function(recipe) {
+ return H._Universe_eval(init.typeUniverse, recipe, false);
+ },
+ _substitute: function(universe, rti, typeArguments, depth) {
+ var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument,
+ kind = rti._kind;
+ switch (kind) {
+ case 5:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ return rti;
+ case 6:
+ baseType = rti._primary;
+ substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth);
+ if (substitutedBaseType === baseType)
+ return rti;
+ return H._Universe__lookupStarRti(universe, substitutedBaseType, true);
+ case 7:
+ baseType = rti._primary;
+ substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth);
+ if (substitutedBaseType === baseType)
+ return rti;
+ return H._Universe__lookupQuestionRti(universe, substitutedBaseType, true);
+ case 8:
+ baseType = rti._primary;
+ substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth);
+ if (substitutedBaseType === baseType)
+ return rti;
+ return H._Universe__lookupFutureOrRti(universe, substitutedBaseType, true);
+ case 9:
+ interfaceTypeArguments = rti._rest;
+ substitutedInterfaceTypeArguments = H._substituteArray(universe, interfaceTypeArguments, typeArguments, depth);
+ if (substitutedInterfaceTypeArguments === interfaceTypeArguments)
+ return rti;
+ return H._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments);
+ case 10:
+ base = rti._primary;
+ substitutedBase = H._substitute(universe, base, typeArguments, depth);
+ $arguments = rti._rest;
+ substitutedArguments = H._substituteArray(universe, $arguments, typeArguments, depth);
+ if (substitutedBase === base && substitutedArguments === $arguments)
+ return rti;
+ return H._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments);
+ case 11:
+ returnType = rti._primary;
+ substitutedReturnType = H._substitute(universe, returnType, typeArguments, depth);
+ functionParameters = rti._rest;
+ substitutedFunctionParameters = H._substituteFunctionParameters(universe, functionParameters, typeArguments, depth);
+ if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters)
+ return rti;
+ return H._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters);
+ case 12:
+ bounds = rti._rest;
+ depth += bounds.length;
+ substitutedBounds = H._substituteArray(universe, bounds, typeArguments, depth);
+ base = rti._primary;
+ substitutedBase = H._substitute(universe, base, typeArguments, depth);
+ if (substitutedBounds === bounds && substitutedBase === base)
+ return rti;
+ return H._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true);
+ case 13:
+ index = rti._primary;
+ if (index < depth)
+ return rti;
+ argument = typeArguments[index - depth];
+ if (argument == null)
+ return rti;
+ return argument;
+ default:
+ throw H.wrapException(P.AssertionError$("Attempted to substitute unexpected RTI kind " + kind));
+ }
+ },
+ _substituteArray: function(universe, rtiArray, typeArguments, depth) {
+ var changed, i, rti, substitutedRti,
+ $length = rtiArray.length,
+ result = [];
+ for (changed = false, i = 0; i < $length; ++i) {
+ rti = rtiArray[i];
+ substitutedRti = H._substitute(universe, rti, typeArguments, depth);
+ if (substitutedRti !== rti)
+ changed = true;
+ result.push(substitutedRti);
+ }
+ return changed ? result : rtiArray;
+ },
+ _substituteNamed: function(universe, namedArray, typeArguments, depth) {
+ var changed, i, t1, t2, rti, substitutedRti,
+ $length = namedArray.length,
+ result = [];
+ for (changed = false, i = 0; i < $length; i += 3) {
+ t1 = namedArray[i];
+ t2 = namedArray[i + 1];
+ rti = namedArray[i + 2];
+ substitutedRti = H._substitute(universe, rti, typeArguments, depth);
+ if (substitutedRti !== rti)
+ changed = true;
+ result.push(t1);
+ result.push(t2);
+ result.push(substitutedRti);
+ }
+ return changed ? result : namedArray;
+ },
+ _substituteFunctionParameters: function(universe, functionParameters, typeArguments, depth) {
+ var result,
+ requiredPositional = functionParameters._requiredPositional,
+ substitutedRequiredPositional = H._substituteArray(universe, requiredPositional, typeArguments, depth),
+ optionalPositional = functionParameters._optionalPositional,
+ substitutedOptionalPositional = H._substituteArray(universe, optionalPositional, typeArguments, depth),
+ named = functionParameters._named,
+ substitutedNamed = H._substituteNamed(universe, named, typeArguments, depth);
+ if (substitutedRequiredPositional === requiredPositional && substitutedOptionalPositional === optionalPositional && substitutedNamed === named)
+ return functionParameters;
+ result = new H._FunctionParameters();
+ result._requiredPositional = substitutedRequiredPositional;
+ result._optionalPositional = substitutedOptionalPositional;
+ result._named = substitutedNamed;
+ return result;
+ },
+ closureFunctionType: function(closure) {
+ var signature = closure.$signature;
+ if (signature != null) {
+ if (typeof signature == "number")
+ return H.getTypeFromTypesTable(signature);
+ return closure.$signature();
+ }
+ return null;
+ },
+ instanceOrFunctionType: function(object, testRti) {
+ var rti;
+ if (H.Rti__isUnionOfFunctionType(testRti))
+ if (object instanceof H.Closure) {
+ rti = H.closureFunctionType(object);
+ if (rti != null)
+ return rti;
+ }
+ return H.instanceType(object);
+ },
+ instanceType: function(object) {
+ var rti;
+ if (object instanceof P.Object) {
+ rti = object.$ti;
+ return rti != null ? rti : H._instanceTypeFromConstructor(object);
+ }
+ if (Array.isArray(object))
+ return H._arrayInstanceType(object);
+ return H._instanceTypeFromConstructor(J.getInterceptor$(object));
+ },
+ _arrayInstanceType: function(object) {
+ var rti = object[init.arrayRti],
+ defaultRti = type$.JSArray_dynamic;
+ if (rti == null)
+ return defaultRti;
+ if (rti.constructor !== defaultRti.constructor)
+ return defaultRti;
+ return rti;
+ },
+ _instanceType: function(object) {
+ var rti = object.$ti;
+ return rti != null ? rti : H._instanceTypeFromConstructor(object);
+ },
+ _instanceTypeFromConstructor: function(instance) {
+ var $constructor = instance.constructor,
+ probe = $constructor.$ccache;
+ if (probe != null)
+ return probe;
+ return H._instanceTypeFromConstructorMiss(instance, $constructor);
+ },
+ _instanceTypeFromConstructorMiss: function(instance, $constructor) {
+ var effectiveConstructor = instance instanceof H.Closure ? instance.__proto__.__proto__.constructor : $constructor,
+ rti = H._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name);
+ $constructor.$ccache = rti;
+ return rti;
+ },
+ getTypeFromTypesTable: function(index) {
+ var table, type, rti;
+ H._asIntS(index);
+ table = init.types;
+ type = table[index];
+ if (typeof type == "string") {
+ rti = H._Universe_eval(init.typeUniverse, type, false);
+ table[index] = rti;
+ return rti;
+ }
+ return type;
+ },
+ createRuntimeType: function(rti) {
+ var recipe, starErasedRecipe, starErasedRti,
+ type = rti._cachedRuntimeType;
+ if (type != null)
+ return type;
+ recipe = rti._canonicalRecipe;
+ starErasedRecipe = recipe.replace(/\*/g, "");
+ if (starErasedRecipe === recipe)
+ return rti._cachedRuntimeType = new H._Type(rti);
+ starErasedRti = H._Universe_eval(init.typeUniverse, starErasedRecipe, true);
+ type = starErasedRti._cachedRuntimeType;
+ return rti._cachedRuntimeType = type == null ? starErasedRti._cachedRuntimeType = new H._Type(starErasedRti) : type;
+ },
+ typeLiteral: function(recipe) {
+ return H.createRuntimeType(H._Universe_eval(init.typeUniverse, recipe, false));
+ },
+ _installSpecializedIsTest: function(object) {
+ var unstarred, isFn, testRti = this,
+ t1 = type$.Object;
+ if (testRti === t1)
+ return H._finishIsFn(testRti, object, H._isObject);
+ if (!H.isStrongTopType(testRti))
+ if (!(testRti === type$.legacy_Object))
+ t1 = testRti === t1;
+ else
+ t1 = true;
+ else
+ t1 = true;
+ if (t1)
+ return H._finishIsFn(testRti, object, H._isTop);
+ t1 = testRti._kind;
+ unstarred = t1 === 6 ? testRti._primary : testRti;
+ if (unstarred === type$.int)
+ isFn = H._isInt;
+ else if (unstarred === type$.double || unstarred === type$.num)
+ isFn = H._isNum;
+ else if (unstarred === type$.String)
+ isFn = H._isString;
+ else
+ isFn = unstarred === type$.bool ? H._isBool : null;
+ if (isFn != null)
+ return H._finishIsFn(testRti, object, isFn);
+ if (unstarred._kind === 9) {
+ t1 = unstarred._primary;
+ if (unstarred._rest.every(H.isTopType)) {
+ testRti._specializedTestResource = "$is" + t1;
+ return H._finishIsFn(testRti, object, H._isTestViaProperty);
+ }
+ } else if (t1 === 7)
+ return H._finishIsFn(testRti, object, H._generalNullableIsTestImplementation);
+ return H._finishIsFn(testRti, object, H._generalIsTestImplementation);
+ },
+ _finishIsFn: function(testRti, object, isFn) {
+ testRti._is = isFn;
+ return testRti._is(object);
+ },
+ _installSpecializedAsCheck: function(object) {
+ var t1, asFn, testRti = this;
+ if (!H.isStrongTopType(testRti))
+ if (!(testRti === type$.legacy_Object))
+ t1 = testRti === type$.Object;
+ else
+ t1 = true;
+ else
+ t1 = true;
+ if (t1)
+ asFn = H._asTop;
+ else if (testRti === type$.Object)
+ asFn = H._asObject;
+ else
+ asFn = H._generalNullableAsCheckImplementation;
+ testRti._as = asFn;
+ return testRti._as(object);
+ },
+ _nullIs: function(testRti) {
+ var t2,
+ t1 = testRti._kind;
+ if (!H.isStrongTopType(testRti))
+ if (!(testRti === type$.legacy_Object))
+ t2 = testRti === type$.Object;
+ else
+ t2 = true;
+ else
+ t2 = true;
+ return t2 || testRti === type$.legacy_Never || t1 === 7 || testRti === type$.Null || testRti === type$.JSNull;
+ },
+ _generalIsTestImplementation: function(object) {
+ var testRti = this;
+ if (object == null)
+ return H._nullIs(testRti);
+ return H._isSubtype(init.typeUniverse, H.instanceOrFunctionType(object, testRti), null, testRti, null);
+ },
+ _generalNullableIsTestImplementation: function(object) {
+ if (object == null)
+ return true;
+ return this._primary._is(object);
+ },
+ _isTestViaProperty: function(object) {
+ var t1 = this,
+ tag = t1._specializedTestResource;
+ if (object instanceof P.Object)
+ return !!object[tag];
+ return !!J.getInterceptor$(object)[tag];
+ },
+ _generalAsCheckImplementation: function(object) {
+ var testRti = this;
+ if (object == null)
+ return object;
+ else if (testRti._is(object))
+ return object;
+ H._failedAsCheck(object, testRti);
+ },
+ _generalNullableAsCheckImplementation: function(object) {
+ var testRti = this;
+ if (object == null)
+ return object;
+ else if (testRti._is(object))
+ return object;
+ H._failedAsCheck(object, testRti);
+ },
+ _failedAsCheck: function(object, testRti) {
+ throw H.wrapException(H._TypeError$fromMessage(H._Error_compose(object, H.instanceOrFunctionType(object, testRti), H._rtiToString(testRti, null))));
+ },
+ _Error_compose: function(object, objectRti, checkedTypeDescription) {
+ var objectDescription = P.Error_safeToString(object),
+ objectTypeDescription = H._rtiToString(objectRti == null ? H.instanceType(object) : objectRti, null);
+ return objectDescription + ": type '" + H.S(objectTypeDescription) + "' is not a subtype of type '" + H.S(checkedTypeDescription) + "'";
+ },
+ _TypeError$fromMessage: function(message) {
+ return new H._TypeError("TypeError: " + message);
+ },
+ _TypeError__TypeError$forType: function(object, type) {
+ return new H._TypeError("TypeError: " + H._Error_compose(object, null, type));
+ },
+ _isObject: function(object) {
+ return object != null;
+ },
+ _asObject: function(object) {
+ return object;
+ },
+ _isTop: function(object) {
+ return true;
+ },
+ _asTop: function(object) {
+ return object;
+ },
+ _isBool: function(object) {
+ return true === object || false === object;
+ },
+ _asBool: function(object) {
+ if (true === object || false === object)
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "bool"));
+ },
+ _asBoolS: function(object) {
+ if (true === object || false === object)
+ return object;
+ if (object == null)
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "bool"));
+ },
+ _asBoolQ: function(object) {
+ if (true === object || false === object)
+ return object;
+ if (object == null)
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "bool?"));
+ },
+ _asDouble: function(object) {
+ if (typeof object == "number")
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "double"));
+ },
+ _asDoubleS: function(object) {
+ if (typeof object == "number")
+ return object;
+ if (object == null)
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "double"));
+ },
+ _asDoubleQ: function(object) {
+ if (typeof object == "number")
+ return object;
+ if (object == null)
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "double?"));
+ },
+ _isInt: function(object) {
+ return typeof object == "number" && Math.floor(object) === object;
+ },
+ _asInt: function(object) {
+ if (typeof object == "number" && Math.floor(object) === object)
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "int"));
+ },
+ _asIntS: function(object) {
+ if (typeof object == "number" && Math.floor(object) === object)
+ return object;
+ if (object == null)
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "int"));
+ },
+ _asIntQ: function(object) {
+ if (typeof object == "number" && Math.floor(object) === object)
+ return object;
+ if (object == null)
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "int?"));
+ },
+ _isNum: function(object) {
+ return typeof object == "number";
+ },
+ _asNum: function(object) {
+ if (typeof object == "number")
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "num"));
+ },
+ _asNumS: function(object) {
+ if (typeof object == "number")
+ return object;
+ if (object == null)
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "num"));
+ },
+ _asNumQ: function(object) {
+ if (typeof object == "number")
+ return object;
+ if (object == null)
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "num?"));
+ },
+ _isString: function(object) {
+ return typeof object == "string";
+ },
+ _asString: function(object) {
+ if (typeof object == "string")
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "String"));
+ },
+ _asStringS: function(object) {
+ if (typeof object == "string")
+ return object;
+ if (object == null)
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "String"));
+ },
+ _asStringQ: function(object) {
+ if (typeof object == "string")
+ return object;
+ if (object == null)
+ return object;
+ throw H.wrapException(H._TypeError__TypeError$forType(object, "String?"));
+ },
+ _rtiArrayToString: function(array, genericContext) {
+ var s, sep, i;
+ for (s = "", sep = "", i = 0; i < array.length; ++i, sep = ", ")
+ s += C.JSString_methods.$add(sep, H._rtiToString(array[i], genericContext));
+ return s;
+ },
+ _functionRtiToString: function(functionType, genericContext, bounds) {
+ var boundsLength, outerContextLength, offset, i, t1, t2, t3, typeParametersText, typeSep, t4, t5, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", ";
+ if (bounds != null) {
+ boundsLength = bounds.length;
+ if (genericContext == null) {
+ genericContext = H.setRuntimeTypeInfo([], type$.JSArray_String);
+ outerContextLength = null;
+ } else
+ outerContextLength = genericContext.length;
+ offset = genericContext.length;
+ for (i = boundsLength; i > 0; --i)
+ C.JSArray_methods.add$1(genericContext, "T" + (offset + i));
+ for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, t3 = type$.Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) {
+ typeParametersText += typeSep;
+ t4 = genericContext.length;
+ t5 = t4 - 1 - i;
+ if (t5 < 0)
+ return H.ioore(genericContext, t5);
+ typeParametersText = C.JSString_methods.$add(typeParametersText, genericContext[t5]);
+ boundRti = bounds[i];
+ kind = boundRti._kind;
+ if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1))
+ if (!(boundRti === t2))
+ t4 = boundRti === t3;
+ else
+ t4 = true;
+ else
+ t4 = true;
+ if (!t4)
+ typeParametersText += C.JSString_methods.$add(" extends ", H._rtiToString(boundRti, genericContext));
+ }
+ typeParametersText += ">";
+ } else {
+ typeParametersText = "";
+ outerContextLength = null;
+ }
+ t1 = functionType._primary;
+ parameters = functionType._rest;
+ requiredPositional = parameters._requiredPositional;
+ requiredPositionalLength = requiredPositional.length;
+ optionalPositional = parameters._optionalPositional;
+ optionalPositionalLength = optionalPositional.length;
+ named = parameters._named;
+ namedLength = named.length;
+ returnTypeText = H._rtiToString(t1, genericContext);
+ for (argumentsText = "", sep = "", i = 0; i < requiredPositionalLength; ++i, sep = _s2_)
+ argumentsText += C.JSString_methods.$add(sep, H._rtiToString(requiredPositional[i], genericContext));
+ if (optionalPositionalLength > 0) {
+ argumentsText += sep + "[";
+ for (sep = "", i = 0; i < optionalPositionalLength; ++i, sep = _s2_)
+ argumentsText += C.JSString_methods.$add(sep, H._rtiToString(optionalPositional[i], genericContext));
+ argumentsText += "]";
+ }
+ if (namedLength > 0) {
+ argumentsText += sep + "{";
+ for (sep = "", i = 0; i < namedLength; i += 3, sep = _s2_) {
+ argumentsText += sep;
+ if (named[i + 1])
+ argumentsText += "required ";
+ argumentsText += J.$add$ansx(H._rtiToString(named[i + 2], genericContext), " ") + named[i];
+ }
+ argumentsText += "}";
+ }
+ if (outerContextLength != null) {
+ genericContext.toString;
+ genericContext.length = outerContextLength;
+ }
+ return typeParametersText + "(" + argumentsText + ") => " + H.S(returnTypeText);
+ },
+ _rtiToString: function(rti, genericContext) {
+ var s, questionArgument, argumentKind, $name, $arguments, t1, t2,
+ kind = rti._kind;
+ if (kind === 5)
+ return "erased";
+ if (kind === 2)
+ return "dynamic";
+ if (kind === 3)
+ return "void";
+ if (kind === 1)
+ return "Never";
+ if (kind === 4)
+ return "any";
+ if (kind === 6) {
+ s = H._rtiToString(rti._primary, genericContext);
+ return s;
+ }
+ if (kind === 7) {
+ questionArgument = rti._primary;
+ s = H._rtiToString(questionArgument, genericContext);
+ argumentKind = questionArgument._kind;
+ return J.$add$ansx(argumentKind === 11 || argumentKind === 12 ? C.JSString_methods.$add("(", s) + ")" : s, "?");
+ }
+ if (kind === 8)
+ return "FutureOr<" + H.S(H._rtiToString(rti._primary, genericContext)) + ">";
+ if (kind === 9) {
+ $name = H._unminifyOrTag(rti._primary);
+ $arguments = rti._rest;
+ return $arguments.length !== 0 ? $name + ("<" + H._rtiArrayToString($arguments, genericContext) + ">") : $name;
+ }
+ if (kind === 11)
+ return H._functionRtiToString(rti, genericContext, null);
+ if (kind === 12)
+ return H._functionRtiToString(rti._primary, genericContext, rti._rest);
+ if (kind === 13) {
+ genericContext.toString;
+ t1 = rti._primary;
+ t2 = genericContext.length;
+ t1 = t2 - 1 - t1;
+ if (t1 < 0 || t1 >= t2)
+ return H.ioore(genericContext, t1);
+ return genericContext[t1];
+ }
+ return "?";
+ },
+ _unminifyOrTag: function(rawClassName) {
+ var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName);
+ if (preserved != null)
+ return preserved;
+ return rawClassName;
+ },
+ _Universe_findRule: function(universe, targetType) {
+ var rule = universe.tR[targetType];
+ for (; typeof rule == "string";)
+ rule = universe.tR[rule];
+ return rule;
+ },
+ _Universe_findErasedType: function(universe, cls) {
+ var $length, erased, $arguments, i, $interface,
+ metadata = universe.eT,
+ probe = metadata[cls];
+ if (probe == null)
+ return H._Universe_eval(universe, cls, false);
+ else if (typeof probe == "number") {
+ $length = probe;
+ erased = H._Universe__lookupTerminalRti(universe, 5, "#");
+ $arguments = [];
+ for (i = 0; i < $length; ++i)
+ $arguments.push(erased);
+ $interface = H._Universe__lookupInterfaceRti(universe, cls, $arguments);
+ metadata[cls] = $interface;
+ return $interface;
+ } else
+ return probe;
+ },
+ _Universe_addRules: function(universe, rules) {
+ return H._Utils_objectAssign(universe.tR, rules);
+ },
+ _Universe_addErasedTypes: function(universe, types) {
+ return H._Utils_objectAssign(universe.eT, types);
+ },
+ _Universe_eval: function(universe, recipe, normalize) {
+ var rti,
+ cache = universe.eC,
+ probe = cache.get(recipe);
+ if (probe != null)
+ return probe;
+ rti = H._Parser_parse(H._Parser_create(universe, null, recipe, normalize));
+ cache.set(recipe, rti);
+ return rti;
+ },
+ _Universe_evalInEnvironment: function(universe, environment, recipe) {
+ var probe, rti,
+ cache = environment._evalCache;
+ if (cache == null)
+ cache = environment._evalCache = new Map();
+ probe = cache.get(recipe);
+ if (probe != null)
+ return probe;
+ rti = H._Parser_parse(H._Parser_create(universe, environment, recipe, true));
+ cache.set(recipe, rti);
+ return rti;
+ },
+ _Universe_bind: function(universe, environment, argumentsRti) {
+ var argumentsRecipe, probe, rti,
+ cache = environment._bindCache;
+ if (cache == null)
+ cache = environment._bindCache = new Map();
+ argumentsRecipe = argumentsRti._canonicalRecipe;
+ probe = cache.get(argumentsRecipe);
+ if (probe != null)
+ return probe;
+ rti = H._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? argumentsRti._rest : [argumentsRti]);
+ cache.set(argumentsRecipe, rti);
+ return rti;
+ },
+ _Universe__installTypeTests: function(universe, rti) {
+ rti._as = H._installSpecializedAsCheck;
+ rti._is = H._installSpecializedIsTest;
+ return rti;
+ },
+ _Universe__lookupTerminalRti: function(universe, kind, key) {
+ var rti, t1,
+ probe = universe.eC.get(key);
+ if (probe != null)
+ return probe;
+ rti = new H.Rti(null, null);
+ rti._kind = kind;
+ rti._canonicalRecipe = key;
+ t1 = H._Universe__installTypeTests(universe, rti);
+ universe.eC.set(key, t1);
+ return t1;
+ },
+ _Universe__lookupStarRti: function(universe, baseType, normalize) {
+ var t1,
+ key = baseType._canonicalRecipe + "*",
+ probe = universe.eC.get(key);
+ if (probe != null)
+ return probe;
+ t1 = H._Universe__createStarRti(universe, baseType, key, normalize);
+ universe.eC.set(key, t1);
+ return t1;
+ },
+ _Universe__createStarRti: function(universe, baseType, key, normalize) {
+ var baseKind, t1, rti;
+ if (normalize) {
+ baseKind = baseType._kind;
+ if (!H.isStrongTopType(baseType))
+ t1 = baseType === type$.Null || baseType === type$.JSNull || baseKind === 7 || baseKind === 6;
+ else
+ t1 = true;
+ if (t1)
+ return baseType;
+ }
+ rti = new H.Rti(null, null);
+ rti._kind = 6;
+ rti._primary = baseType;
+ rti._canonicalRecipe = key;
+ return H._Universe__installTypeTests(universe, rti);
+ },
+ _Universe__lookupQuestionRti: function(universe, baseType, normalize) {
+ var t1,
+ key = baseType._canonicalRecipe + "?",
+ probe = universe.eC.get(key);
+ if (probe != null)
+ return probe;
+ t1 = H._Universe__createQuestionRti(universe, baseType, key, normalize);
+ universe.eC.set(key, t1);
+ return t1;
+ },
+ _Universe__createQuestionRti: function(universe, baseType, key, normalize) {
+ var baseKind, t1, starArgument, rti;
+ if (normalize) {
+ baseKind = baseType._kind;
+ if (!H.isStrongTopType(baseType))
+ if (!(baseType === type$.Null || baseType === type$.JSNull))
+ if (baseKind !== 7)
+ t1 = baseKind === 8 && H.isNullable(baseType._primary);
+ else
+ t1 = true;
+ else
+ t1 = true;
+ else
+ t1 = true;
+ if (t1)
+ return baseType;
+ else if (baseKind === 1 || baseType === type$.legacy_Never)
+ return type$.Null;
+ else if (baseKind === 6) {
+ starArgument = baseType._primary;
+ if (starArgument._kind === 8 && H.isNullable(starArgument._primary))
+ return starArgument;
+ else
+ return H.Rti__getQuestionFromStar(universe, baseType);
+ }
+ }
+ rti = new H.Rti(null, null);
+ rti._kind = 7;
+ rti._primary = baseType;
+ rti._canonicalRecipe = key;
+ return H._Universe__installTypeTests(universe, rti);
+ },
+ _Universe__lookupFutureOrRti: function(universe, baseType, normalize) {
+ var t1,
+ key = baseType._canonicalRecipe + "/",
+ probe = universe.eC.get(key);
+ if (probe != null)
+ return probe;
+ t1 = H._Universe__createFutureOrRti(universe, baseType, key, normalize);
+ universe.eC.set(key, t1);
+ return t1;
+ },
+ _Universe__createFutureOrRti: function(universe, baseType, key, normalize) {
+ var t1, t2, rti;
+ if (normalize) {
+ t1 = baseType._kind;
+ if (!H.isStrongTopType(baseType))
+ if (!(baseType === type$.legacy_Object))
+ t2 = baseType === type$.Object;
+ else
+ t2 = true;
+ else
+ t2 = true;
+ if (t2 || baseType === type$.Object)
+ return baseType;
+ else if (t1 === 1)
+ return H._Universe__lookupInterfaceRti(universe, "Future", [baseType]);
+ else if (baseType === type$.Null || baseType === type$.JSNull)
+ return type$.nullable_Future_Null;
+ }
+ rti = new H.Rti(null, null);
+ rti._kind = 8;
+ rti._primary = baseType;
+ rti._canonicalRecipe = key;
+ return H._Universe__installTypeTests(universe, rti);
+ },
+ _Universe__lookupGenericFunctionParameterRti: function(universe, index) {
+ var rti, t1,
+ key = "" + index + "^",
+ probe = universe.eC.get(key);
+ if (probe != null)
+ return probe;
+ rti = new H.Rti(null, null);
+ rti._kind = 13;
+ rti._primary = index;
+ rti._canonicalRecipe = key;
+ t1 = H._Universe__installTypeTests(universe, rti);
+ universe.eC.set(key, t1);
+ return t1;
+ },
+ _Universe__canonicalRecipeJoin: function($arguments) {
+ var s, sep, i,
+ $length = $arguments.length;
+ for (s = "", sep = "", i = 0; i < $length; ++i, sep = ",")
+ s += sep + $arguments[i]._canonicalRecipe;
+ return s;
+ },
+ _Universe__canonicalRecipeJoinNamed: function($arguments) {
+ var s, sep, i, t1, nameSep, s0,
+ $length = $arguments.length;
+ for (s = "", sep = "", i = 0; i < $length; i += 3, sep = ",") {
+ t1 = $arguments[i];
+ nameSep = $arguments[i + 1] ? "!" : ":";
+ s0 = $arguments[i + 2]._canonicalRecipe;
+ s += sep + t1 + nameSep + s0;
+ }
+ return s;
+ },
+ _Universe__lookupInterfaceRti: function(universe, $name, $arguments) {
+ var probe, rti, t1,
+ s = $name;
+ if ($arguments.length !== 0)
+ s += "<" + H._Universe__canonicalRecipeJoin($arguments) + ">";
+ probe = universe.eC.get(s);
+ if (probe != null)
+ return probe;
+ rti = new H.Rti(null, null);
+ rti._kind = 9;
+ rti._primary = $name;
+ rti._rest = $arguments;
+ if ($arguments.length > 0)
+ rti._precomputed1 = $arguments[0];
+ rti._canonicalRecipe = s;
+ t1 = H._Universe__installTypeTests(universe, rti);
+ universe.eC.set(s, t1);
+ return t1;
+ },
+ _Universe__lookupBindingRti: function(universe, base, $arguments) {
+ var newBase, newArguments, key, probe, rti, t1;
+ if (base._kind === 10) {
+ newBase = base._primary;
+ newArguments = base._rest.concat($arguments);
+ } else {
+ newArguments = $arguments;
+ newBase = base;
+ }
+ key = newBase._canonicalRecipe + (";<" + H._Universe__canonicalRecipeJoin(newArguments) + ">");
+ probe = universe.eC.get(key);
+ if (probe != null)
+ return probe;
+ rti = new H.Rti(null, null);
+ rti._kind = 10;
+ rti._primary = newBase;
+ rti._rest = newArguments;
+ rti._canonicalRecipe = key;
+ t1 = H._Universe__installTypeTests(universe, rti);
+ universe.eC.set(key, t1);
+ return t1;
+ },
+ _Universe__lookupFunctionRti: function(universe, returnType, parameters) {
+ var sep, t1, key, probe, rti,
+ s = returnType._canonicalRecipe,
+ requiredPositional = parameters._requiredPositional,
+ requiredPositionalLength = requiredPositional.length,
+ optionalPositional = parameters._optionalPositional,
+ optionalPositionalLength = optionalPositional.length,
+ named = parameters._named,
+ namedLength = named.length,
+ recipe = "(" + H._Universe__canonicalRecipeJoin(requiredPositional);
+ if (optionalPositionalLength > 0) {
+ sep = requiredPositionalLength > 0 ? "," : "";
+ t1 = H._Universe__canonicalRecipeJoin(optionalPositional);
+ recipe += sep + "[" + t1 + "]";
+ }
+ if (namedLength > 0) {
+ sep = requiredPositionalLength > 0 ? "," : "";
+ t1 = H._Universe__canonicalRecipeJoinNamed(named);
+ recipe += sep + "{" + t1 + "}";
+ }
+ key = s + (recipe + ")");
+ probe = universe.eC.get(key);
+ if (probe != null)
+ return probe;
+ rti = new H.Rti(null, null);
+ rti._kind = 11;
+ rti._primary = returnType;
+ rti._rest = parameters;
+ rti._canonicalRecipe = key;
+ t1 = H._Universe__installTypeTests(universe, rti);
+ universe.eC.set(key, t1);
+ return t1;
+ },
+ _Universe__lookupGenericFunctionRti: function(universe, baseFunctionType, bounds, normalize) {
+ var t1,
+ key = baseFunctionType._canonicalRecipe + ("<" + H._Universe__canonicalRecipeJoin(bounds) + ">"),
+ probe = universe.eC.get(key);
+ if (probe != null)
+ return probe;
+ t1 = H._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize);
+ universe.eC.set(key, t1);
+ return t1;
+ },
+ _Universe__createGenericFunctionRti: function(universe, baseFunctionType, bounds, key, normalize) {
+ var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti;
+ if (normalize) {
+ $length = bounds.length;
+ typeArguments = new Array($length);
+ for (count = 0, i = 0; i < $length; ++i) {
+ bound = bounds[i];
+ if (bound._kind === 1) {
+ typeArguments[i] = bound;
+ ++count;
+ }
+ }
+ if (count > 0) {
+ substitutedBase = H._substitute(universe, baseFunctionType, typeArguments, 0);
+ substitutedBounds = H._substituteArray(universe, bounds, typeArguments, 0);
+ return H._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, bounds !== substitutedBounds);
+ }
+ }
+ rti = new H.Rti(null, null);
+ rti._kind = 12;
+ rti._primary = baseFunctionType;
+ rti._rest = bounds;
+ rti._canonicalRecipe = key;
+ return H._Universe__installTypeTests(universe, rti);
+ },
+ _Parser_create: function(universe, environment, recipe, normalize) {
+ return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize};
+ },
+ _Parser_parse: function(parser) {
+ var t1, i, ch, universe, array, head, base, u, parameters, optionalPositional, named, item,
+ source = parser.r,
+ stack = parser.s;
+ for (t1 = source.length, i = 0; i < t1;) {
+ ch = source.charCodeAt(i);
+ if (ch >= 48 && ch <= 57)
+ i = H._Parser_handleDigit(i + 1, ch, source, stack);
+ else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36)
+ i = H._Parser_handleIdentifier(parser, i, source, stack, false);
+ else if (ch === 46)
+ i = H._Parser_handleIdentifier(parser, i, source, stack, true);
+ else {
+ ++i;
+ switch (ch) {
+ case 44:
+ break;
+ case 58:
+ stack.push(false);
+ break;
+ case 33:
+ stack.push(true);
+ break;
+ case 59:
+ stack.push(H._Parser_toType(parser.u, parser.e, stack.pop()));
+ break;
+ case 94:
+ stack.push(H._Universe__lookupGenericFunctionParameterRti(parser.u, stack.pop()));
+ break;
+ case 35:
+ stack.push(H._Universe__lookupTerminalRti(parser.u, 5, "#"));
+ break;
+ case 64:
+ stack.push(H._Universe__lookupTerminalRti(parser.u, 2, "@"));
+ break;
+ case 126:
+ stack.push(H._Universe__lookupTerminalRti(parser.u, 3, "~"));
+ break;
+ case 60:
+ stack.push(parser.p);
+ parser.p = stack.length;
+ break;
+ case 62:
+ universe = parser.u;
+ array = stack.splice(parser.p);
+ H._Parser_toTypes(parser.u, parser.e, array);
+ parser.p = stack.pop();
+ head = stack.pop();
+ if (typeof head == "string")
+ stack.push(H._Universe__lookupInterfaceRti(universe, head, array));
+ else {
+ base = H._Parser_toType(universe, parser.e, head);
+ switch (base._kind) {
+ case 11:
+ stack.push(H._Universe__lookupGenericFunctionRti(universe, base, array, parser.n));
+ break;
+ default:
+ stack.push(H._Universe__lookupBindingRti(universe, base, array));
+ break;
+ }
+ }
+ break;
+ case 38:
+ H._Parser_handleExtendedOperations(parser, stack);
+ break;
+ case 42:
+ u = parser.u;
+ stack.push(H._Universe__lookupStarRti(u, H._Parser_toType(u, parser.e, stack.pop()), parser.n));
+ break;
+ case 63:
+ u = parser.u;
+ stack.push(H._Universe__lookupQuestionRti(u, H._Parser_toType(u, parser.e, stack.pop()), parser.n));
+ break;
+ case 47:
+ u = parser.u;
+ stack.push(H._Universe__lookupFutureOrRti(u, H._Parser_toType(u, parser.e, stack.pop()), parser.n));
+ break;
+ case 40:
+ stack.push(parser.p);
+ parser.p = stack.length;
+ break;
+ case 41:
+ universe = parser.u;
+ parameters = new H._FunctionParameters();
+ optionalPositional = universe.sEA;
+ named = universe.sEA;
+ head = stack.pop();
+ if (typeof head == "number")
+ switch (head) {
+ case -1:
+ optionalPositional = stack.pop();
+ break;
+ case -2:
+ named = stack.pop();
+ break;
+ default:
+ stack.push(head);
+ break;
+ }
+ else
+ stack.push(head);
+ array = stack.splice(parser.p);
+ H._Parser_toTypes(parser.u, parser.e, array);
+ parser.p = stack.pop();
+ parameters._requiredPositional = array;
+ parameters._optionalPositional = optionalPositional;
+ parameters._named = named;
+ stack.push(H._Universe__lookupFunctionRti(universe, H._Parser_toType(universe, parser.e, stack.pop()), parameters));
+ break;
+ case 91:
+ stack.push(parser.p);
+ parser.p = stack.length;
+ break;
+ case 93:
+ array = stack.splice(parser.p);
+ H._Parser_toTypes(parser.u, parser.e, array);
+ parser.p = stack.pop();
+ stack.push(array);
+ stack.push(-1);
+ break;
+ case 123:
+ stack.push(parser.p);
+ parser.p = stack.length;
+ break;
+ case 125:
+ array = stack.splice(parser.p);
+ H._Parser_toTypesNamed(parser.u, parser.e, array);
+ parser.p = stack.pop();
+ stack.push(array);
+ stack.push(-2);
+ break;
+ default:
+ throw "Bad character " + ch;
+ }
+ }
+ }
+ item = stack.pop();
+ return H._Parser_toType(parser.u, parser.e, item);
+ },
+ _Parser_handleDigit: function(i, digit, source, stack) {
+ var t1, ch,
+ value = digit - 48;
+ for (t1 = source.length; i < t1; ++i) {
+ ch = source.charCodeAt(i);
+ if (!(ch >= 48 && ch <= 57))
+ break;
+ value = value * 10 + (ch - 48);
+ }
+ stack.push(value);
+ return i;
+ },
+ _Parser_handleIdentifier: function(parser, start, source, stack, hasPeriod) {
+ var t1, ch, t2, string, environment, recipe,
+ i = start + 1;
+ for (t1 = source.length; i < t1; ++i) {
+ ch = source.charCodeAt(i);
+ if (ch === 46) {
+ if (hasPeriod)
+ break;
+ hasPeriod = true;
+ } else {
+ if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36))
+ t2 = ch >= 48 && ch <= 57;
+ else
+ t2 = true;
+ if (!t2)
+ break;
+ }
+ }
+ string = source.substring(start, i);
+ if (hasPeriod) {
+ t1 = parser.u;
+ environment = parser.e;
+ if (environment._kind === 10)
+ environment = environment._primary;
+ recipe = H._Universe_findRule(t1, environment._primary)[string];
+ if (recipe == null)
+ H.throwExpression('No "' + string + '" in "' + H.Rti__getCanonicalRecipe(environment) + '"');
+ stack.push(H._Universe_evalInEnvironment(t1, environment, recipe));
+ } else
+ stack.push(string);
+ return i;
+ },
+ _Parser_handleExtendedOperations: function(parser, stack) {
+ var $top = stack.pop();
+ if (0 === $top) {
+ stack.push(H._Universe__lookupTerminalRti(parser.u, 1, "0&"));
+ return;
+ }
+ if (1 === $top) {
+ stack.push(H._Universe__lookupTerminalRti(parser.u, 4, "1&"));
+ return;
+ }
+ throw H.wrapException(P.AssertionError$("Unexpected extended operation " + H.S($top)));
+ },
+ _Parser_toType: function(universe, environment, item) {
+ if (typeof item == "string")
+ return H._Universe__lookupInterfaceRti(universe, item, universe.sEA);
+ else if (typeof item == "number")
+ return H._Parser_indexToType(universe, environment, item);
+ else
+ return item;
+ },
+ _Parser_toTypes: function(universe, environment, items) {
+ var i,
+ $length = items.length;
+ for (i = 0; i < $length; ++i)
+ items[i] = H._Parser_toType(universe, environment, items[i]);
+ },
+ _Parser_toTypesNamed: function(universe, environment, items) {
+ var i,
+ $length = items.length;
+ for (i = 2; i < $length; i += 3)
+ items[i] = H._Parser_toType(universe, environment, items[i]);
+ },
+ _Parser_indexToType: function(universe, environment, index) {
+ var typeArguments, len,
+ kind = environment._kind;
+ if (kind === 10) {
+ if (index === 0)
+ return environment._primary;
+ typeArguments = environment._rest;
+ len = typeArguments.length;
+ if (index <= len)
+ return typeArguments[index - 1];
+ index -= len;
+ environment = environment._primary;
+ kind = environment._kind;
+ } else if (index === 0)
+ return environment;
+ if (kind !== 9)
+ throw H.wrapException(P.AssertionError$("Indexed base must be an interface type"));
+ typeArguments = environment._rest;
+ if (index <= typeArguments.length)
+ return typeArguments[index - 1];
+ throw H.wrapException(P.AssertionError$("Bad index " + index + " for " + environment.toString$0(0)));
+ },
+ _isSubtype: function(universe, s, sEnv, t, tEnv) {
+ var t1, sKind, leftTypeVariable, tKind, sBounds, tBounds, sLength, i, sBound, tBound;
+ if (s === t)
+ return true;
+ if (!H.isStrongTopType(t))
+ if (!(t === type$.legacy_Object))
+ t1 = t === type$.Object;
+ else
+ t1 = true;
+ else
+ t1 = true;
+ if (t1)
+ return true;
+ sKind = s._kind;
+ if (sKind === 4)
+ return true;
+ if (H.isStrongTopType(s))
+ return false;
+ if (s._kind !== 1)
+ t1 = s === type$.Null || s === type$.JSNull;
+ else
+ t1 = true;
+ if (t1)
+ return true;
+ leftTypeVariable = sKind === 13;
+ if (leftTypeVariable)
+ if (H._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv))
+ return true;
+ tKind = t._kind;
+ if (sKind === 6)
+ return H._isSubtype(universe, s._primary, sEnv, t, tEnv);
+ if (tKind === 6) {
+ t1 = t._primary;
+ return H._isSubtype(universe, s, sEnv, t1, tEnv);
+ }
+ if (sKind === 8) {
+ if (!H._isSubtype(universe, s._primary, sEnv, t, tEnv))
+ return false;
+ return H._isSubtype(universe, H.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv);
+ }
+ if (sKind === 7) {
+ t1 = H._isSubtype(universe, s._primary, sEnv, t, tEnv);
+ return t1;
+ }
+ if (tKind === 8) {
+ if (H._isSubtype(universe, s, sEnv, t._primary, tEnv))
+ return true;
+ return H._isSubtype(universe, s, sEnv, H.Rti__getFutureFromFutureOr(universe, t), tEnv);
+ }
+ if (tKind === 7) {
+ t1 = H._isSubtype(universe, s, sEnv, t._primary, tEnv);
+ return t1;
+ }
+ if (leftTypeVariable)
+ return false;
+ t1 = sKind !== 11;
+ if ((!t1 || sKind === 12) && t === type$.Function)
+ return true;
+ if (tKind === 12) {
+ if (s === type$.JavaScriptFunction)
+ return true;
+ if (sKind !== 12)
+ return false;
+ sBounds = s._rest;
+ tBounds = t._rest;
+ sLength = sBounds.length;
+ if (sLength !== tBounds.length)
+ return false;
+ sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv);
+ tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv);
+ for (i = 0; i < sLength; ++i) {
+ sBound = sBounds[i];
+ tBound = tBounds[i];
+ if (!H._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !H._isSubtype(universe, tBound, tEnv, sBound, sEnv))
+ return false;
+ }
+ return H._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv);
+ }
+ if (tKind === 11) {
+ if (s === type$.JavaScriptFunction)
+ return true;
+ if (t1)
+ return false;
+ return H._isFunctionSubtype(universe, s, sEnv, t, tEnv);
+ }
+ if (sKind === 9) {
+ if (tKind !== 9)
+ return false;
+ return H._isInterfaceSubtype(universe, s, sEnv, t, tEnv);
+ }
+ return false;
+ },
+ _isFunctionSubtype: function(universe, s, sEnv, t, tEnv) {
+ var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName, sIsRequired;
+ if (!H._isSubtype(universe, s._primary, sEnv, t._primary, tEnv))
+ return false;
+ sParameters = s._rest;
+ tParameters = t._rest;
+ sRequiredPositional = sParameters._requiredPositional;
+ tRequiredPositional = tParameters._requiredPositional;
+ sRequiredPositionalLength = sRequiredPositional.length;
+ tRequiredPositionalLength = tRequiredPositional.length;
+ if (sRequiredPositionalLength > tRequiredPositionalLength)
+ return false;
+ requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength;
+ sOptionalPositional = sParameters._optionalPositional;
+ tOptionalPositional = tParameters._optionalPositional;
+ sOptionalPositionalLength = sOptionalPositional.length;
+ tOptionalPositionalLength = tOptionalPositional.length;
+ if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength)
+ return false;
+ for (i = 0; i < sRequiredPositionalLength; ++i) {
+ t1 = sRequiredPositional[i];
+ if (!H._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv))
+ return false;
+ }
+ for (i = 0; i < requiredPositionalDelta; ++i) {
+ t1 = sOptionalPositional[i];
+ if (!H._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv))
+ return false;
+ }
+ for (i = 0; i < tOptionalPositionalLength; ++i) {
+ t1 = sOptionalPositional[requiredPositionalDelta + i];
+ if (!H._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv))
+ return false;
+ }
+ sNamed = sParameters._named;
+ tNamed = tParameters._named;
+ sNamedLength = sNamed.length;
+ tNamedLength = tNamed.length;
+ for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) {
+ tName = tNamed[tIndex];
+ for (; true;) {
+ if (sIndex >= sNamedLength)
+ return false;
+ sName = sNamed[sIndex];
+ sIndex += 3;
+ if (tName < sName)
+ return false;
+ sIsRequired = sNamed[sIndex - 2];
+ if (sName < tName) {
+ if (sIsRequired)
+ return false;
+ continue;
+ }
+ t1 = tNamed[tIndex + 1];
+ if (sIsRequired && !t1)
+ return false;
+ t1 = sNamed[sIndex - 1];
+ if (!H._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv))
+ return false;
+ break;
+ }
+ }
+ for (; sIndex < sNamedLength;) {
+ if (sNamed[sIndex + 1])
+ return false;
+ sIndex += 3;
+ }
+ return true;
+ },
+ _isInterfaceSubtype: function(universe, s, sEnv, t, tEnv) {
+ var sArgs, tArgs, $length, i, t1, t2, rule, supertypeArgs,
+ sName = s._primary,
+ tName = t._primary;
+ if (sName === tName) {
+ sArgs = s._rest;
+ tArgs = t._rest;
+ $length = sArgs.length;
+ for (i = 0; i < $length; ++i) {
+ t1 = sArgs[i];
+ t2 = tArgs[i];
+ if (!H._isSubtype(universe, t1, sEnv, t2, tEnv))
+ return false;
+ }
+ return true;
+ }
+ if (t === type$.Object)
+ return true;
+ rule = H._Universe_findRule(universe, sName);
+ if (rule == null)
+ return false;
+ supertypeArgs = rule[tName];
+ if (supertypeArgs == null)
+ return false;
+ $length = supertypeArgs.length;
+ tArgs = t._rest;
+ for (i = 0; i < $length; ++i)
+ if (!H._isSubtype(universe, H._Universe_evalInEnvironment(universe, s, supertypeArgs[i]), sEnv, tArgs[i], tEnv))
+ return false;
+ return true;
+ },
+ isNullable: function(t) {
+ var t1,
+ kind = t._kind;
+ if (!(t === type$.Null || t === type$.JSNull))
+ if (!H.isStrongTopType(t))
+ if (kind !== 7)
+ if (!(kind === 6 && H.isNullable(t._primary)))
+ t1 = kind === 8 && H.isNullable(t._primary);
+ else
+ t1 = true;
+ else
+ t1 = true;
+ else
+ t1 = true;
+ else
+ t1 = true;
+ return t1;
+ },
+ isTopType: function(t) {
+ var t1;
+ if (!H.isStrongTopType(t))
+ if (!(t === type$.legacy_Object))
+ t1 = t === type$.Object;
+ else
+ t1 = true;
+ else
+ t1 = true;
+ return t1;
+ },
+ isStrongTopType: function(t) {
+ var kind = t._kind;
+ return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object;
+ },
+ _Utils_objectAssign: function(o, other) {
+ var i, key,
+ keys = Object.keys(other),
+ $length = keys.length;
+ for (i = 0; i < $length; ++i) {
+ key = keys[i];
+ o[key] = other[key];
+ }
+ },
+ Rti: function Rti(t0, t1) {
+ var _ = this;
+ _._as = t0;
+ _._is = t1;
+ _._cachedRuntimeType = _._specializedTestResource = _._precomputed1 = null;
+ _._kind = 0;
+ _._canonicalRecipe = _._bindCache = _._evalCache = _._rest = _._primary = null;
+ },
+ _FunctionParameters: function _FunctionParameters() {
+ this._named = this._optionalPositional = this._requiredPositional = null;
+ },
+ _Type: function _Type(t0) {
+ this._rti = t0;
+ },
+ _Error: function _Error() {
+ },
+ _TypeError: function _TypeError(t0) {
+ this.__rti$_message = t0;
+ },
+ unmangleGlobalNameIfPreservedAnyways: function($name) {
+ return init.mangledGlobalNames[$name];
+ }
+ },
+ J = {
+ makeDispatchRecord: function(interceptor, proto, extension, indexability) {
+ return {i: interceptor, p: proto, e: extension, x: indexability};
+ },
+ getNativeInterceptor: function(object) {
+ var proto, objectProto, $constructor, interceptor,
+ record = object[init.dispatchPropertyName];
+ if (record == null)
+ if ($.initNativeDispatchFlag == null) {
+ H.initNativeDispatch();
+ record = object[init.dispatchPropertyName];
+ }
+ if (record != null) {
+ proto = record.p;
+ if (false === proto)
+ return record.i;
+ if (true === proto)
+ return object;
+ objectProto = Object.getPrototypeOf(object);
+ if (proto === objectProto)
+ return record.i;
+ if (record.e === objectProto)
+ throw H.wrapException(P.UnimplementedError$("Return interceptor for " + H.S(proto(object, record))));
+ }
+ $constructor = object.constructor;
+ interceptor = $constructor == null ? null : $constructor[J.JS_INTEROP_INTERCEPTOR_TAG()];
+ if (interceptor != null)
+ return interceptor;
+ interceptor = H.lookupAndCacheInterceptor(object);
+ if (interceptor != null)
+ return interceptor;
+ if (typeof object == "function")
+ return C.JavaScriptFunction_methods;
+ proto = Object.getPrototypeOf(object);
+ if (proto == null)
+ return C.PlainJavaScriptObject_methods;
+ if (proto === Object.prototype)
+ return C.PlainJavaScriptObject_methods;
+ if (typeof $constructor == "function") {
+ Object.defineProperty($constructor, J.JS_INTEROP_INTERCEPTOR_TAG(), {value: C.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true});
+ return C.UnknownJavaScriptObject_methods;
+ }
+ return C.UnknownJavaScriptObject_methods;
+ },
+ JS_INTEROP_INTERCEPTOR_TAG: function() {
+ var t1 = $._JS_INTEROP_INTERCEPTOR_TAG;
+ return t1 == null ? $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js") : t1;
+ },
+ JSArray_JSArray$fixed: function($length, $E) {
+ if (!H._isInt($length))
+ throw H.wrapException(P.ArgumentError$value($length, "length", "is not an integer"));
+ if ($length < 0 || $length > 4294967295)
+ throw H.wrapException(P.RangeError$range($length, 0, 4294967295, "length", null));
+ return J.JSArray_JSArray$markFixed(new Array($length), $E);
+ },
+ JSArray_JSArray$growable: function($length, $E) {
+ if (!H._isInt($length) || $length < 0)
+ throw H.wrapException(P.ArgumentError$("Length must be a non-negative integer: " + H.S($length)));
+ return H.setRuntimeTypeInfo(new Array($length), $E._eval$1("JSArray<0>"));
+ },
+ JSArray_JSArray$markFixed: function(allocation, $E) {
+ return J.JSArray_markFixedList(H.setRuntimeTypeInfo(allocation, $E._eval$1("JSArray<0>")), $E);
+ },
+ JSArray_markFixedList: function(list, $T) {
+ list.fixed$length = Array;
+ return list;
+ },
+ getInterceptor$: function(receiver) {
+ if (typeof receiver == "number") {
+ if (Math.floor(receiver) == receiver)
+ return J.JSInt.prototype;
+ return J.JSDouble.prototype;
+ }
+ if (typeof receiver == "string")
+ return J.JSString.prototype;
+ if (receiver == null)
+ return J.JSNull.prototype;
+ if (typeof receiver == "boolean")
+ return J.JSBool.prototype;
+ if (receiver.constructor == Array)
+ return J.JSArray.prototype;
+ if (typeof receiver != "object") {
+ if (typeof receiver == "function")
+ return J.JavaScriptFunction.prototype;
+ return receiver;
+ }
+ if (receiver instanceof P.Object)
+ return receiver;
+ return J.getNativeInterceptor(receiver);
+ },
+ getInterceptor$ansx: function(receiver) {
+ if (typeof receiver == "number")
+ return J.JSNumber.prototype;
+ if (typeof receiver == "string")
+ return J.JSString.prototype;
+ if (receiver == null)
+ return receiver;
+ if (receiver.constructor == Array)
+ return J.JSArray.prototype;
+ if (typeof receiver != "object") {
+ if (typeof receiver == "function")
+ return J.JavaScriptFunction.prototype;
+ return receiver;
+ }
+ if (receiver instanceof P.Object)
+ return receiver;
+ return J.getNativeInterceptor(receiver);
+ },
+ getInterceptor$asx: function(receiver) {
+ if (typeof receiver == "string")
+ return J.JSString.prototype;
+ if (receiver == null)
+ return receiver;
+ if (receiver.constructor == Array)
+ return J.JSArray.prototype;
+ if (typeof receiver != "object") {
+ if (typeof receiver == "function")
+ return J.JavaScriptFunction.prototype;
+ return receiver;
+ }
+ if (receiver instanceof P.Object)
+ return receiver;
+ return J.getNativeInterceptor(receiver);
+ },
+ getInterceptor$ax: function(receiver) {
+ if (receiver == null)
+ return receiver;
+ if (receiver.constructor == Array)
+ return J.JSArray.prototype;
+ if (typeof receiver != "object") {
+ if (typeof receiver == "function")
+ return J.JavaScriptFunction.prototype;
+ return receiver;
+ }
+ if (receiver instanceof P.Object)
+ return receiver;
+ return J.getNativeInterceptor(receiver);
+ },
+ getInterceptor$bn: function(receiver) {
+ if (typeof receiver == "number")
+ return J.JSNumber.prototype;
+ if (receiver == null)
+ return receiver;
+ if (typeof receiver == "boolean")
+ return J.JSBool.prototype;
+ if (!(receiver instanceof P.Object))
+ return J.UnknownJavaScriptObject.prototype;
+ return receiver;
+ },
+ getInterceptor$n: function(receiver) {
+ if (typeof receiver == "number")
+ return J.JSNumber.prototype;
+ if (receiver == null)
+ return receiver;
+ if (!(receiver instanceof P.Object))
+ return J.UnknownJavaScriptObject.prototype;
+ return receiver;
+ },
+ getInterceptor$s: function(receiver) {
+ if (typeof receiver == "string")
+ return J.JSString.prototype;
+ if (receiver == null)
+ return receiver;
+ if (!(receiver instanceof P.Object))
+ return J.UnknownJavaScriptObject.prototype;
+ return receiver;
+ },
+ getInterceptor$x: function(receiver) {
+ if (receiver == null)
+ return receiver;
+ if (typeof receiver != "object") {
+ if (typeof receiver == "function")
+ return J.JavaScriptFunction.prototype;
+ return receiver;
+ }
+ if (receiver instanceof P.Object)
+ return receiver;
+ return J.getNativeInterceptor(receiver);
+ },
+ get$hashCode$: function(receiver) {
+ return J.getInterceptor$(receiver).get$hashCode(receiver);
+ },
+ get$iterator$ax: function(receiver) {
+ return J.getInterceptor$ax(receiver).get$iterator(receiver);
+ },
+ get$length$asx: function(receiver) {
+ return J.getInterceptor$asx(receiver).get$length(receiver);
+ },
+ get$runtimeType$: function(receiver) {
+ return J.getInterceptor$(receiver).get$runtimeType(receiver);
+ },
+ $add$ansx: function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return receiver + a0;
+ return J.getInterceptor$ansx(receiver).$add(receiver, a0);
+ },
+ $and$bn: function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return (receiver & a0) >>> 0;
+ return J.getInterceptor$bn(receiver).$and(receiver, a0);
+ },
+ $div$n: function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return receiver / a0;
+ return J.getInterceptor$n(receiver).$div(receiver, a0);
+ },
+ $eq$: function(receiver, a0) {
+ if (receiver == null)
+ return a0 == null;
+ if (typeof receiver != "object")
+ return a0 != null && receiver === a0;
+ return J.getInterceptor$(receiver).$eq(receiver, a0);
+ },
+ $ge$n: function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return receiver >= a0;
+ return J.getInterceptor$n(receiver).$ge(receiver, a0);
+ },
+ $index$asx: function(receiver, a0) {
+ if (typeof a0 === "number")
+ if (receiver.constructor == Array || typeof receiver == "string" || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName]))
+ if (a0 >>> 0 === a0 && a0 < receiver.length)
+ return receiver[a0];
+ return J.getInterceptor$asx(receiver).$index(receiver, a0);
+ },
+ $indexSet$ax: function(receiver, a0, a1) {
+ return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1);
+ },
+ $or$bn: function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return (receiver | a0) >>> 0;
+ return J.getInterceptor$bn(receiver).$or(receiver, a0);
+ },
+ $shl$n: function(receiver, a0) {
+ return J.getInterceptor$n(receiver).$shl(receiver, a0);
+ },
+ $sub$n: function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return receiver - a0;
+ return J.getInterceptor$n(receiver).$sub(receiver, a0);
+ },
+ _removeEventListener$3$x: function(receiver, a0, a1, a2) {
+ return J.getInterceptor$x(receiver)._removeEventListener$3(receiver, a0, a1, a2);
+ },
+ addEventListener$3$x: function(receiver, a0, a1, a2) {
+ return J.getInterceptor$x(receiver).addEventListener$3(receiver, a0, a1, a2);
+ },
+ elementAt$1$ax: function(receiver, a0) {
+ return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
+ },
+ map$1$ax: function(receiver, a0) {
+ return J.getInterceptor$ax(receiver).map$1(receiver, a0);
+ },
+ map$1$1$ax: function(receiver, a0, $T1) {
+ return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1);
+ },
+ noSuchMethod$1$: function(receiver, a0) {
+ return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0);
+ },
+ toList$0$ax: function(receiver) {
+ return J.getInterceptor$ax(receiver).toList$0(receiver);
+ },
+ toString$0$: function(receiver) {
+ return J.getInterceptor$(receiver).toString$0(receiver);
+ },
+ Interceptor: function Interceptor() {
+ },
+ JSBool: function JSBool() {
+ },
+ JSNull: function JSNull() {
+ },
+ JSObject: function JSObject() {
+ },
+ JavaScriptObject: function JavaScriptObject() {
+ },
+ PlainJavaScriptObject: function PlainJavaScriptObject() {
+ },
+ UnknownJavaScriptObject: function UnknownJavaScriptObject() {
+ },
+ JavaScriptFunction: function JavaScriptFunction() {
+ },
+ JSArray: function JSArray(t0) {
+ this.$ti = t0;
+ },
+ JSUnmodifiableArray: function JSUnmodifiableArray(t0) {
+ this.$ti = t0;
+ },
+ ArrayIterator: function ArrayIterator(t0, t1, t2) {
+ var _ = this;
+ _.__interceptors$_iterable = t0;
+ _.__interceptors$_length = t1;
+ _.__interceptors$_index = 0;
+ _.__interceptors$_current = null;
+ _.$ti = t2;
+ },
+ JSNumber: function JSNumber() {
+ },
+ JSInt: function JSInt() {
+ },
+ JSDouble: function JSDouble() {
+ },
+ JSString: function JSString() {
+ }
+ },
+ P = {
+ _AsyncRun__initializeScheduleImmediate: function() {
+ var div, span, t1 = {};
+ if (self.scheduleImmediate != null)
+ return P.async__AsyncRun__scheduleImmediateJsOverride$closure();
+ if (self.MutationObserver != null && self.document != null) {
+ div = self.document.createElement("div");
+ span = self.document.createElement("span");
+ t1.storedCallback = null;
+ new self.MutationObserver(H.convertDartClosureToJS(new P._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true});
+ return new P._AsyncRun__initializeScheduleImmediate_closure(t1, div, span);
+ } else if (self.setImmediate != null)
+ return P.async__AsyncRun__scheduleImmediateWithSetImmediate$closure();
+ return P.async__AsyncRun__scheduleImmediateWithTimer$closure();
+ },
+ _AsyncRun__scheduleImmediateJsOverride: function(callback) {
+ self.scheduleImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateJsOverride_internalCallback(type$.void_Function._as(callback)), 0));
+ },
+ _AsyncRun__scheduleImmediateWithSetImmediate: function(callback) {
+ self.setImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(type$.void_Function._as(callback)), 0));
+ },
+ _AsyncRun__scheduleImmediateWithTimer: function(callback) {
+ P.Timer__createTimer(C.Duration_0, type$.void_Function._as(callback));
+ },
+ Timer__createTimer: function(duration, callback) {
+ var milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000);
+ return P._TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback);
+ },
+ _TimerImpl$: function(milliseconds, callback) {
+ var t1 = new P._TimerImpl();
+ t1._TimerImpl$2(milliseconds, callback);
+ return t1;
+ },
+ _makeAsyncAwaitCompleter: function($T) {
+ return new P._AsyncAwaitCompleter(new P._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncAwaitCompleter<0>"));
+ },
+ _asyncStartSync: function(bodyFunction, completer) {
+ bodyFunction.call$2(0, null);
+ completer.isSync = true;
+ return completer._future;
+ },
+ _asyncAwait: function(object, bodyFunction) {
+ P._awaitOnObject(object, bodyFunction);
+ },
+ _asyncReturn: function(object, completer) {
+ completer.complete$1(object);
+ },
+ _asyncRethrow: function(object, completer) {
+ completer.completeError$2(H.unwrapException(object), H.getTraceFromException(object));
+ },
+ _awaitOnObject: function(object, bodyFunction) {
+ var t1, future,
+ thenCallback = new P._awaitOnObject_closure(bodyFunction),
+ errorCallback = new P._awaitOnObject_closure0(bodyFunction);
+ if (object instanceof P._Future)
+ object._thenAwait$1$2(thenCallback, errorCallback, type$.dynamic);
+ else {
+ t1 = type$.dynamic;
+ if (type$.Future_dynamic._is(object))
+ object.then$1$2$onError(thenCallback, errorCallback, t1);
+ else {
+ future = new P._Future($.Zone__current, type$._Future_dynamic);
+ future._state = 4;
+ future._resultOrListeners = object;
+ future._thenAwait$1$2(thenCallback, errorCallback, t1);
+ }
+ }
+ },
+ _wrapJsFunctionForAsync: function($function) {
+ var $protected = function(fn, ERROR) {
+ return function(errorCode, result) {
+ while (true)
+ try {
+ fn(errorCode, result);
+ break;
+ } catch (error) {
+ result = error;
+ errorCode = ERROR;
+ }
+ };
+ }($function, 1);
+ return $.Zone__current.registerBinaryCallback$3$1(new P._wrapJsFunctionForAsync_closure($protected), type$.Null, type$.int, type$.dynamic);
+ },
+ _Future$zoneValue: function(value, _zone, $T) {
+ var t1 = new P._Future(_zone, $T._eval$1("_Future<0>"));
+ $T._as(value);
+ t1._state = 4;
+ t1._resultOrListeners = value;
+ return t1;
+ },
+ _Future__chainForeignFuture: function(source, target) {
+ var e, s, exception;
+ target._state = 1;
+ try {
+ source.then$1$2$onError(new P._Future__chainForeignFuture_closure(target), new P._Future__chainForeignFuture_closure0(target), type$.Null);
+ } catch (exception) {
+ e = H.unwrapException(exception);
+ s = H.getTraceFromException(exception);
+ P.scheduleMicrotask(new P._Future__chainForeignFuture_closure1(target, e, s));
+ }
+ },
+ _Future__chainCoreFuture: function(source, target) {
+ var t1, t2, listeners;
+ for (t1 = type$._Future_dynamic; t2 = source._state, t2 === 2;)
+ source = t1._as(source._resultOrListeners);
+ if (t2 >= 4) {
+ listeners = target._removeListeners$0();
+ target._state = source._state;
+ target._resultOrListeners = source._resultOrListeners;
+ P._Future__propagateToListeners(target, listeners);
+ } else {
+ listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners);
+ target._state = 2;
+ target._resultOrListeners = source;
+ source._prependListeners$1(listeners);
+ }
+ },
+ _Future__propagateToListeners: function(source, listeners) {
+ var t2, t3, t4, _box_0, hasError, asyncError, nextListener, nextListener0, t5, sourceResult, t6, t7, zone, oldZone, result, current, _null = null, _box_1 = {},
+ t1 = _box_1.source = source;
+ for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic, t4 = type$.Future_dynamic; true;) {
+ _box_0 = {};
+ hasError = t1._state === 8;
+ if (listeners == null) {
+ if (hasError) {
+ asyncError = t2._as(t1._resultOrListeners);
+ P._rootHandleUncaughtError(_null, _null, t1._zone, asyncError.error, asyncError.stackTrace);
+ }
+ return;
+ }
+ _box_0.listener = listeners;
+ nextListener = listeners._nextListener;
+ for (t1 = listeners; nextListener != null; t1 = nextListener, nextListener = nextListener0) {
+ t1._nextListener = null;
+ P._Future__propagateToListeners(_box_1.source, t1);
+ _box_0.listener = nextListener;
+ nextListener0 = nextListener._nextListener;
+ }
+ t5 = _box_1.source;
+ sourceResult = t5._resultOrListeners;
+ _box_0.listenerHasError = hasError;
+ _box_0.listenerValueOrError = sourceResult;
+ t6 = !hasError;
+ if (t6) {
+ t7 = t1.state;
+ t7 = (t7 & 1) !== 0 || (t7 & 15) === 8;
+ } else
+ t7 = true;
+ if (t7) {
+ zone = t1.result._zone;
+ if (hasError) {
+ t7 = t5._zone === zone;
+ t7 = !(t7 || t7);
+ } else
+ t7 = false;
+ if (t7) {
+ t2._as(sourceResult);
+ P._rootHandleUncaughtError(_null, _null, t5._zone, sourceResult.error, sourceResult.stackTrace);
+ return;
+ }
+ oldZone = $.Zone__current;
+ if (oldZone !== zone)
+ $.Zone__current = zone;
+ else
+ oldZone = _null;
+ t1 = t1.state;
+ if ((t1 & 15) === 8)
+ new P._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0();
+ else if (t6) {
+ if ((t1 & 1) !== 0)
+ new P._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0();
+ } else if ((t1 & 2) !== 0)
+ new P._Future__propagateToListeners_handleError(_box_1, _box_0).call$0();
+ if (oldZone != null)
+ $.Zone__current = oldZone;
+ t1 = _box_0.listenerValueOrError;
+ if (t4._is(t1)) {
+ result = _box_0.listener.result;
+ if (t1._state >= 4) {
+ current = t3._as(result._resultOrListeners);
+ result._resultOrListeners = null;
+ listeners = result._reverseListeners$1(current);
+ result._state = t1._state;
+ result._resultOrListeners = t1._resultOrListeners;
+ _box_1.source = t1;
+ continue;
+ } else
+ P._Future__chainCoreFuture(t1, result);
+ return;
+ }
+ }
+ result = _box_0.listener.result;
+ current = t3._as(result._resultOrListeners);
+ result._resultOrListeners = null;
+ listeners = result._reverseListeners$1(current);
+ t1 = _box_0.listenerHasError;
+ t5 = _box_0.listenerValueOrError;
+ if (!t1) {
+ result.$ti._precomputed1._as(t5);
+ result._state = 4;
+ result._resultOrListeners = t5;
+ } else {
+ t2._as(t5);
+ result._state = 8;
+ result._resultOrListeners = t5;
+ }
+ _box_1.source = result;
+ t1 = result;
+ }
+ },
+ _registerErrorHandler: function(errorHandler, zone) {
+ var t1;
+ if (type$.dynamic_Function_Object_StackTrace._is(errorHandler))
+ return zone.registerBinaryCallback$3$1(errorHandler, type$.dynamic, type$.Object, type$.StackTrace);
+ t1 = type$.dynamic_Function_Object;
+ if (t1._is(errorHandler))
+ return t1._as(errorHandler);
+ throw H.wrapException(P.ArgumentError$value(errorHandler, "onError", "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a a valid result"));
+ },
+ _microtaskLoop: function() {
+ var entry, next;
+ for (entry = $._nextCallback; entry != null; entry = $._nextCallback) {
+ $._lastPriorityCallback = null;
+ next = entry.next;
+ $._nextCallback = next;
+ if (next == null)
+ $._lastCallback = null;
+ entry.callback.call$0();
+ }
+ },
+ _startMicrotaskLoop: function() {
+ $._isInCallbackLoop = true;
+ try {
+ P._microtaskLoop();
+ } finally {
+ $._lastPriorityCallback = null;
+ $._isInCallbackLoop = false;
+ if ($._nextCallback != null)
+ $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure());
+ }
+ },
+ _scheduleAsyncCallback: function(callback) {
+ var newEntry = new P._AsyncCallbackEntry(callback),
+ lastCallback = $._lastCallback;
+ if (lastCallback == null) {
+ $._nextCallback = $._lastCallback = newEntry;
+ if (!$._isInCallbackLoop)
+ $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure());
+ } else
+ $._lastCallback = lastCallback.next = newEntry;
+ },
+ _schedulePriorityAsyncCallback: function(callback) {
+ var entry, lastPriorityCallback, next,
+ t1 = $._nextCallback;
+ if (t1 == null) {
+ P._scheduleAsyncCallback(callback);
+ $._lastPriorityCallback = $._lastCallback;
+ return;
+ }
+ entry = new P._AsyncCallbackEntry(callback);
+ lastPriorityCallback = $._lastPriorityCallback;
+ if (lastPriorityCallback == null) {
+ entry.next = t1;
+ $._nextCallback = $._lastPriorityCallback = entry;
+ } else {
+ next = lastPriorityCallback.next;
+ entry.next = next;
+ $._lastPriorityCallback = lastPriorityCallback.next = entry;
+ if (next == null)
+ $._lastCallback = entry;
+ }
+ },
+ scheduleMicrotask: function(callback) {
+ var _null = null,
+ currentZone = $.Zone__current;
+ if (C.C__RootZone === currentZone) {
+ P._rootScheduleMicrotask(_null, _null, C.C__RootZone, callback);
+ return;
+ }
+ P._rootScheduleMicrotask(_null, _null, currentZone, type$.void_Function._as(currentZone.bindCallbackGuarded$1(callback)));
+ },
+ StreamIterator_StreamIterator: function(stream, $T) {
+ P.ArgumentError_checkNotNull(stream, "stream", $T._eval$1("Stream<0>"));
+ return new P._StreamIterator(stream, $T._eval$1("_StreamIterator<0>"));
+ },
+ StreamController_StreamController: function($T) {
+ var _null = null;
+ return new P._AsyncStreamController(_null, _null, _null, _null, $T._eval$1("_AsyncStreamController<0>"));
+ },
+ StreamController_StreamController$broadcast: function(sync, $T) {
+ var _null = null;
+ return sync ? new P._SyncBroadcastStreamController(_null, _null, $T._eval$1("_SyncBroadcastStreamController<0>")) : new P._AsyncBroadcastStreamController(_null, _null, $T._eval$1("_AsyncBroadcastStreamController<0>"));
+ },
+ _runGuarded: function(notificationHandler) {
+ return;
+ },
+ _BufferingStreamSubscription__registerDataHandler: function(zone, handleData, $T) {
+ var t1 = handleData == null ? P.async___nullDataHandler$closure() : handleData;
+ return type$.$env_1_1_void._bind$1($T)._eval$1("1(2)")._as(t1);
+ },
+ _BufferingStreamSubscription__registerErrorHandler: function(zone, handleError) {
+ if (handleError == null)
+ handleError = P.async___nullErrorHandler$closure();
+ if (type$.void_Function_Object_StackTrace._is(handleError))
+ return zone.registerBinaryCallback$3$1(handleError, type$.dynamic, type$.Object, type$.StackTrace);
+ if (type$.void_Function_Object._is(handleError))
+ return type$.dynamic_Function_Object._as(handleError);
+ throw H.wrapException(P.ArgumentError$("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace."));
+ },
+ _BufferingStreamSubscription__registerDoneHandler: function(zone, handleDone) {
+ return type$.void_Function._as(handleDone);
+ },
+ _nullDataHandler: function(value) {
+ },
+ _nullErrorHandler: function(error, stackTrace) {
+ P._rootHandleUncaughtError(null, null, $.Zone__current, error, stackTrace);
+ },
+ _cancelAndValue: function(subscription, future, value) {
+ var cancelFuture = subscription.cancel$0();
+ if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture())
+ cancelFuture.whenComplete$1(new P._cancelAndValue_closure(future, value));
+ else
+ future._complete$1(value);
+ },
+ Timer_Timer: function(duration, callback) {
+ var t1 = $.Zone__current;
+ if (t1 === C.C__RootZone)
+ return P.Timer__createTimer(duration, type$.void_Function._as(callback));
+ return P.Timer__createTimer(duration, type$.void_Function._as(t1.bindCallbackGuarded$1(callback)));
+ },
+ AsyncError$: function(error, stackTrace) {
+ var t1 = stackTrace == null ? P.AsyncError_defaultStackTrace(error) : stackTrace;
+ P.ArgumentError_checkNotNull(error, "error", type$.Object);
+ return new P.AsyncError(error, t1);
+ },
+ AsyncError_defaultStackTrace: function(error) {
+ var stackTrace;
+ if (type$.Error._is(error)) {
+ stackTrace = error.get$stackTrace();
+ if (stackTrace != null)
+ return stackTrace;
+ }
+ return C.C__StringStackTrace;
+ },
+ _rootHandleUncaughtError: function($self, $parent, zone, error, stackTrace) {
+ P._schedulePriorityAsyncCallback(new P._rootHandleUncaughtError_closure(error, stackTrace));
+ },
+ _rootRun: function($self, $parent, zone, f, $R) {
+ var old,
+ t1 = $.Zone__current;
+ if (t1 === zone)
+ return f.call$0();
+ $.Zone__current = zone;
+ old = t1;
+ try {
+ t1 = f.call$0();
+ return t1;
+ } finally {
+ $.Zone__current = old;
+ }
+ },
+ _rootRunUnary: function($self, $parent, zone, f, arg, $R, $T) {
+ var old,
+ t1 = $.Zone__current;
+ if (t1 === zone)
+ return f.call$1(arg);
+ $.Zone__current = zone;
+ old = t1;
+ try {
+ t1 = f.call$1(arg);
+ return t1;
+ } finally {
+ $.Zone__current = old;
+ }
+ },
+ _rootRunBinary: function($self, $parent, zone, f, arg1, arg2, $R, T1, T2) {
+ var old,
+ t1 = $.Zone__current;
+ if (t1 === zone)
+ return f.call$2(arg1, arg2);
+ $.Zone__current = zone;
+ old = t1;
+ try {
+ t1 = f.call$2(arg1, arg2);
+ return t1;
+ } finally {
+ $.Zone__current = old;
+ }
+ },
+ _rootScheduleMicrotask: function($self, $parent, zone, f) {
+ var t1;
+ type$.void_Function._as(f);
+ t1 = C.C__RootZone !== zone;
+ if (t1)
+ f = !(!t1 || false) ? zone.bindCallbackGuarded$1(f) : zone.bindCallback$1$1(f, type$.void);
+ P._scheduleAsyncCallback(f);
+ },
+ _AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) {
+ this._box_0 = t0;
+ },
+ _AsyncRun__initializeScheduleImmediate_closure: function _AsyncRun__initializeScheduleImmediate_closure(t0, t1, t2) {
+ this._box_0 = t0;
+ this.div = t1;
+ this.span = t2;
+ },
+ _AsyncRun__scheduleImmediateJsOverride_internalCallback: function _AsyncRun__scheduleImmediateJsOverride_internalCallback(t0) {
+ this.callback = t0;
+ },
+ _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: function _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(t0) {
+ this.callback = t0;
+ },
+ _TimerImpl: function _TimerImpl() {
+ this._handle = null;
+ },
+ _TimerImpl_internalCallback: function _TimerImpl_internalCallback(t0, t1) {
+ this.$this = t0;
+ this.callback = t1;
+ },
+ _AsyncAwaitCompleter: function _AsyncAwaitCompleter(t0, t1) {
+ this._future = t0;
+ this.isSync = false;
+ this.$ti = t1;
+ },
+ _awaitOnObject_closure: function _awaitOnObject_closure(t0) {
+ this.bodyFunction = t0;
+ },
+ _awaitOnObject_closure0: function _awaitOnObject_closure0(t0) {
+ this.bodyFunction = t0;
+ },
+ _wrapJsFunctionForAsync_closure: function _wrapJsFunctionForAsync_closure(t0) {
+ this.$protected = t0;
+ },
+ _BroadcastSubscription: function _BroadcastSubscription(t0, t1, t2, t3, t4, t5, t6) {
+ var _ = this;
+ _._eventState = 0;
+ _._async$_previous = _._async$_next = null;
+ _._controller = t0;
+ _._async$_onData = t1;
+ _._onError = t2;
+ _._onDone = t3;
+ _._zone = t4;
+ _._state = t5;
+ _._pending = _._cancelFuture = null;
+ _.$ti = t6;
+ },
+ _BroadcastStreamController: function _BroadcastStreamController() {
+ },
+ _SyncBroadcastStreamController: function _SyncBroadcastStreamController(t0, t1, t2) {
+ var _ = this;
+ _.onListen = t0;
+ _.onCancel = t1;
+ _._state = 0;
+ _._doneFuture = _._addStreamState = _._lastSubscription = _._firstSubscription = null;
+ _.$ti = t2;
+ },
+ _SyncBroadcastStreamController__sendData_closure: function _SyncBroadcastStreamController__sendData_closure(t0, t1) {
+ this.$this = t0;
+ this.data = t1;
+ },
+ _AsyncBroadcastStreamController: function _AsyncBroadcastStreamController(t0, t1, t2) {
+ var _ = this;
+ _.onListen = t0;
+ _.onCancel = t1;
+ _._state = 0;
+ _._doneFuture = _._addStreamState = _._lastSubscription = _._firstSubscription = null;
+ _.$ti = t2;
+ },
+ Future: function Future() {
+ },
+ Completer: function Completer() {
+ },
+ _Completer: function _Completer() {
+ },
+ _AsyncCompleter: function _AsyncCompleter(t0, t1) {
+ this.future = t0;
+ this.$ti = t1;
+ },
+ _FutureListener: function _FutureListener(t0, t1, t2, t3, t4) {
+ var _ = this;
+ _._nextListener = null;
+ _.result = t0;
+ _.state = t1;
+ _.callback = t2;
+ _.errorCallback = t3;
+ _.$ti = t4;
+ },
+ _Future: function _Future(t0, t1) {
+ var _ = this;
+ _._state = 0;
+ _._zone = t0;
+ _._resultOrListeners = null;
+ _.$ti = t1;
+ },
+ _Future__addListener_closure: function _Future__addListener_closure(t0, t1) {
+ this.$this = t0;
+ this.listener = t1;
+ },
+ _Future__prependListeners_closure: function _Future__prependListeners_closure(t0, t1) {
+ this._box_0 = t0;
+ this.$this = t1;
+ },
+ _Future__chainForeignFuture_closure: function _Future__chainForeignFuture_closure(t0) {
+ this.target = t0;
+ },
+ _Future__chainForeignFuture_closure0: function _Future__chainForeignFuture_closure0(t0) {
+ this.target = t0;
+ },
+ _Future__chainForeignFuture_closure1: function _Future__chainForeignFuture_closure1(t0, t1, t2) {
+ this.target = t0;
+ this.e = t1;
+ this.s = t2;
+ },
+ _Future__asyncCompleteWithValue_closure: function _Future__asyncCompleteWithValue_closure(t0, t1) {
+ this.$this = t0;
+ this.value = t1;
+ },
+ _Future__chainFuture_closure: function _Future__chainFuture_closure(t0, t1) {
+ this.$this = t0;
+ this.value = t1;
+ },
+ _Future__asyncCompleteError_closure: function _Future__asyncCompleteError_closure(t0, t1, t2) {
+ this.$this = t0;
+ this.error = t1;
+ this.stackTrace = t2;
+ },
+ _Future__propagateToListeners_handleWhenCompleteCallback: function _Future__propagateToListeners_handleWhenCompleteCallback(t0, t1, t2) {
+ this._box_0 = t0;
+ this._box_1 = t1;
+ this.hasError = t2;
+ },
+ _Future__propagateToListeners_handleWhenCompleteCallback_closure: function _Future__propagateToListeners_handleWhenCompleteCallback_closure(t0) {
+ this.originalSource = t0;
+ },
+ _Future__propagateToListeners_handleValueCallback: function _Future__propagateToListeners_handleValueCallback(t0, t1) {
+ this._box_0 = t0;
+ this.sourceResult = t1;
+ },
+ _Future__propagateToListeners_handleError: function _Future__propagateToListeners_handleError(t0, t1) {
+ this._box_1 = t0;
+ this._box_0 = t1;
+ },
+ _AsyncCallbackEntry: function _AsyncCallbackEntry(t0) {
+ this.callback = t0;
+ this.next = null;
+ },
+ Stream: function Stream() {
+ },
+ Stream_length_closure: function Stream_length_closure(t0, t1) {
+ this._box_0 = t0;
+ this.$this = t1;
+ },
+ Stream_length_closure0: function Stream_length_closure0(t0, t1) {
+ this._box_0 = t0;
+ this.future = t1;
+ },
+ Stream_first_closure: function Stream_first_closure(t0) {
+ this.future = t0;
+ },
+ Stream_first_closure0: function Stream_first_closure0(t0, t1, t2) {
+ this.$this = t0;
+ this.subscription = t1;
+ this.future = t2;
+ },
+ StreamSubscription: function StreamSubscription() {
+ },
+ StreamTransformerBase: function StreamTransformerBase() {
+ },
+ StreamController: function StreamController() {
+ },
+ _StreamController: function _StreamController() {
+ },
+ _StreamController__subscribe_closure: function _StreamController__subscribe_closure(t0) {
+ this.$this = t0;
+ },
+ _StreamController__recordCancel_complete: function _StreamController__recordCancel_complete(t0) {
+ this.$this = t0;
+ },
+ _AsyncStreamControllerDispatch: function _AsyncStreamControllerDispatch() {
+ },
+ _AsyncStreamController: function _AsyncStreamController(t0, t1, t2, t3, t4) {
+ var _ = this;
+ _._varData = null;
+ _._state = 0;
+ _._doneFuture = null;
+ _.onListen = t0;
+ _.onPause = t1;
+ _.onResume = t2;
+ _.onCancel = t3;
+ _.$ti = t4;
+ },
+ _ControllerStream: function _ControllerStream(t0, t1) {
+ this._controller = t0;
+ this.$ti = t1;
+ },
+ _ControllerSubscription: function _ControllerSubscription(t0, t1, t2, t3, t4, t5, t6) {
+ var _ = this;
+ _._controller = t0;
+ _._async$_onData = t1;
+ _._onError = t2;
+ _._onDone = t3;
+ _._zone = t4;
+ _._state = t5;
+ _._pending = _._cancelFuture = null;
+ _.$ti = t6;
+ },
+ _StreamSinkWrapper: function _StreamSinkWrapper(t0, t1) {
+ this._async$_target = t0;
+ this.$ti = t1;
+ },
+ _BufferingStreamSubscription: function _BufferingStreamSubscription() {
+ },
+ _BufferingStreamSubscription__sendError_sendError: function _BufferingStreamSubscription__sendError_sendError(t0, t1, t2) {
+ this.$this = t0;
+ this.error = t1;
+ this.stackTrace = t2;
+ },
+ _BufferingStreamSubscription__sendDone_sendDone: function _BufferingStreamSubscription__sendDone_sendDone(t0) {
+ this.$this = t0;
+ },
+ _StreamImpl: function _StreamImpl() {
+ },
+ _DelayedEvent: function _DelayedEvent() {
+ },
+ _DelayedData: function _DelayedData(t0, t1) {
+ this.value = t0;
+ this.next = null;
+ this.$ti = t1;
+ },
+ _DelayedError: function _DelayedError(t0, t1) {
+ this.error = t0;
+ this.stackTrace = t1;
+ this.next = null;
+ },
+ _DelayedDone: function _DelayedDone() {
+ },
+ _PendingEvents: function _PendingEvents() {
+ },
+ _PendingEvents_schedule_closure: function _PendingEvents_schedule_closure(t0, t1) {
+ this.$this = t0;
+ this.dispatch = t1;
+ },
+ _StreamImplEvents: function _StreamImplEvents(t0) {
+ var _ = this;
+ _.lastPendingEvent = _.firstPendingEvent = null;
+ _._state = 0;
+ _.$ti = t0;
+ },
+ _DoneStreamSubscription: function _DoneStreamSubscription(t0, t1, t2) {
+ var _ = this;
+ _._zone = t0;
+ _._state = 0;
+ _._onDone = t1;
+ _.$ti = t2;
+ },
+ _StreamIterator: function _StreamIterator(t0, t1) {
+ var _ = this;
+ _._async$_subscription = null;
+ _._stateData = t0;
+ _._isPaused = false;
+ _.$ti = t1;
+ },
+ _cancelAndValue_closure: function _cancelAndValue_closure(t0, t1) {
+ this.future = t0;
+ this.value = t1;
+ },
+ _ForwardingStream: function _ForwardingStream() {
+ },
+ _ForwardingStreamSubscription: function _ForwardingStreamSubscription(t0, t1, t2, t3, t4, t5, t6) {
+ var _ = this;
+ _._stream = t0;
+ _._async$_subscription = null;
+ _._async$_onData = t1;
+ _._onError = t2;
+ _._onDone = t3;
+ _._zone = t4;
+ _._state = t5;
+ _._pending = _._cancelFuture = null;
+ _.$ti = t6;
+ },
+ _MapStream: function _MapStream(t0, t1, t2) {
+ this._transform = t0;
+ this._async$_source = t1;
+ this.$ti = t2;
+ },
+ AsyncError: function AsyncError(t0, t1) {
+ this.error = t0;
+ this.stackTrace = t1;
+ },
+ _Zone: function _Zone() {
+ },
+ _rootHandleUncaughtError_closure: function _rootHandleUncaughtError_closure(t0, t1) {
+ this.error = t0;
+ this.stackTrace = t1;
+ },
+ _RootZone: function _RootZone() {
+ },
+ _RootZone_bindCallback_closure: function _RootZone_bindCallback_closure(t0, t1, t2) {
+ this.$this = t0;
+ this.f = t1;
+ this.R = t2;
+ },
+ _RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) {
+ this.$this = t0;
+ this.f = t1;
+ },
+ _RootZone_bindUnaryCallbackGuarded_closure: function _RootZone_bindUnaryCallbackGuarded_closure(t0, t1, t2) {
+ this.$this = t0;
+ this.f = t1;
+ this.T = t2;
+ },
+ LinkedHashMap_LinkedHashMap: function($K, $V) {
+ return new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"));
+ },
+ LinkedHashMap_LinkedHashMap$_literal: function(keyValuePairs, $K, $V) {
+ return $K._eval$1("@<0>")._bind$1($V)._eval$1("LinkedHashMap<1,2>")._as(H.fillLiteralMap(keyValuePairs, new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"))));
+ },
+ LinkedHashMap_LinkedHashMap$_empty: function($K, $V) {
+ return new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"));
+ },
+ LinkedHashSet_LinkedHashSet: function($E) {
+ return new P._LinkedHashSet($E._eval$1("_LinkedHashSet<0>"));
+ },
+ _LinkedHashSet__newHashTable: function() {
+ var table = Object.create(null);
+ table["<non-identifier-key>"] = table;
+ delete table["<non-identifier-key>"];
+ return table;
+ },
+ IterableBase_iterableToShortString: function(iterable, leftDelimiter, rightDelimiter) {
+ var parts, t1;
+ if (P._isToStringVisiting(iterable)) {
+ if (leftDelimiter === "(" && rightDelimiter === ")")
+ return "(...)";
+ return leftDelimiter + "..." + rightDelimiter;
+ }
+ parts = H.setRuntimeTypeInfo([], type$.JSArray_String);
+ C.JSArray_methods.add$1($._toStringVisiting, iterable);
+ try {
+ P._iterablePartsToStrings(iterable, parts);
+ } finally {
+ if (0 >= $._toStringVisiting.length)
+ return H.ioore($._toStringVisiting, -1);
+ $._toStringVisiting.pop();
+ }
+ t1 = P.StringBuffer__writeAll(leftDelimiter, type$.Iterable_dynamic._as(parts), ", ") + rightDelimiter;
+ return t1.charCodeAt(0) == 0 ? t1 : t1;
+ },
+ IterableBase_iterableToFullString: function(iterable, leftDelimiter, rightDelimiter) {
+ var buffer, t1;
+ if (P._isToStringVisiting(iterable))
+ return leftDelimiter + "..." + rightDelimiter;
+ buffer = new P.StringBuffer(leftDelimiter);
+ C.JSArray_methods.add$1($._toStringVisiting, iterable);
+ try {
+ t1 = buffer;
+ t1._contents = P.StringBuffer__writeAll(t1._contents, iterable, ", ");
+ } finally {
+ if (0 >= $._toStringVisiting.length)
+ return H.ioore($._toStringVisiting, -1);
+ $._toStringVisiting.pop();
+ }
+ buffer._contents += rightDelimiter;
+ t1 = buffer._contents;
+ return t1.charCodeAt(0) == 0 ? t1 : t1;
+ },
+ _isToStringVisiting: function(o) {
+ var t1, i;
+ for (t1 = $._toStringVisiting.length, i = 0; i < t1; ++i)
+ if (o === $._toStringVisiting[i])
+ return true;
+ return false;
+ },
+ _iterablePartsToStrings: function(iterable, parts) {
+ var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision,
+ it = iterable.get$iterator(iterable),
+ $length = 0, count = 0;
+ while (true) {
+ if (!($length < 80 || count < 3))
+ break;
+ if (!it.moveNext$0())
+ return;
+ next = H.S(it.get$current());
+ C.JSArray_methods.add$1(parts, next);
+ $length += next.length + 2;
+ ++count;
+ }
+ if (!it.moveNext$0()) {
+ if (count <= 5)
+ return;
+ if (0 >= parts.length)
+ return H.ioore(parts, -1);
+ ultimateString = parts.pop();
+ if (0 >= parts.length)
+ return H.ioore(parts, -1);
+ penultimateString = parts.pop();
+ } else {
+ penultimate = it.get$current();
+ ++count;
+ if (!it.moveNext$0()) {
+ if (count <= 4) {
+ C.JSArray_methods.add$1(parts, H.S(penultimate));
+ return;
+ }
+ ultimateString = H.S(penultimate);
+ if (0 >= parts.length)
+ return H.ioore(parts, -1);
+ penultimateString = parts.pop();
+ $length += ultimateString.length + 2;
+ } else {
+ ultimate = it.get$current();
+ ++count;
+ for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) {
+ ultimate0 = it.get$current();
+ ++count;
+ if (count > 100) {
+ while (true) {
+ if (!($length > 75 && count > 3))
+ break;
+ if (0 >= parts.length)
+ return H.ioore(parts, -1);
+ $length -= parts.pop().length + 2;
+ --count;
+ }
+ C.JSArray_methods.add$1(parts, "...");
+ return;
+ }
+ }
+ penultimateString = H.S(penultimate);
+ ultimateString = H.S(ultimate);
+ $length += ultimateString.length + penultimateString.length + 4;
+ }
+ }
+ if (count > parts.length + 2) {
+ $length += 5;
+ elision = "...";
+ } else
+ elision = null;
+ while (true) {
+ if (!($length > 80 && parts.length > 3))
+ break;
+ if (0 >= parts.length)
+ return H.ioore(parts, -1);
+ $length -= parts.pop().length + 2;
+ if (elision == null) {
+ $length += 5;
+ elision = "...";
+ }
+ }
+ if (elision != null)
+ C.JSArray_methods.add$1(parts, elision);
+ C.JSArray_methods.add$1(parts, penultimateString);
+ C.JSArray_methods.add$1(parts, ultimateString);
+ },
+ LinkedHashMap_LinkedHashMap$of: function(other, $K, $V) {
+ var t1 = P.LinkedHashMap_LinkedHashMap($K, $V);
+ t1.addAll$1(0, other);
+ return t1;
+ },
+ MapBase_mapToString: function(m) {
+ var result, t1 = {};
+ if (P._isToStringVisiting(m))
+ return "{...}";
+ result = new P.StringBuffer("");
+ try {
+ C.JSArray_methods.add$1($._toStringVisiting, m);
+ result._contents += "{";
+ t1.first = true;
+ m.forEach$1(0, new P.MapBase_mapToString_closure(t1, result));
+ result._contents += "}";
+ } finally {
+ if (0 >= $._toStringVisiting.length)
+ return H.ioore($._toStringVisiting, -1);
+ $._toStringVisiting.pop();
+ }
+ t1 = result._contents;
+ return t1.charCodeAt(0) == 0 ? t1 : t1;
+ },
+ ListQueue__calculateCapacity: function(initialCapacity) {
+ return 8;
+ },
+ _LinkedHashSet: function _LinkedHashSet(t0) {
+ var _ = this;
+ _._collection$_length = 0;
+ _._collection$_last = _._collection$_first = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
+ _._collection$_modifications = 0;
+ _.$ti = t0;
+ },
+ _LinkedHashSetCell: function _LinkedHashSetCell(t0) {
+ this._element = t0;
+ this._collection$_next = null;
+ },
+ _LinkedHashSetIterator: function _LinkedHashSetIterator(t0, t1, t2) {
+ var _ = this;
+ _._set = t0;
+ _._collection$_modifications = t1;
+ _._collection$_current = _._collection$_cell = null;
+ _.$ti = t2;
+ },
+ ListMixin: function ListMixin() {
+ },
+ MapBase: function MapBase() {
+ },
+ MapBase_mapToString_closure: function MapBase_mapToString_closure(t0, t1) {
+ this._box_0 = t0;
+ this.result = t1;
+ },
+ MapMixin: function MapMixin() {
+ },
+ _UnmodifiableMapMixin: function _UnmodifiableMapMixin() {
+ },
+ MapView: function MapView() {
+ },
+ UnmodifiableMapView: function UnmodifiableMapView() {
+ },
+ ListQueue: function ListQueue(t0, t1) {
+ var _ = this;
+ _._collection$_table = t0;
+ _._modificationCount = _._tail = _._head = 0;
+ _.$ti = t1;
+ },
+ _ListQueueIterator: function _ListQueueIterator(t0, t1, t2, t3, t4) {
+ var _ = this;
+ _._queue = t0;
+ _._end = t1;
+ _._modificationCount = t2;
+ _._position = t3;
+ _._collection$_current = null;
+ _.$ti = t4;
+ },
+ _SetBase: function _SetBase() {
+ },
+ _UnmodifiableMapView_MapView__UnmodifiableMapMixin: function _UnmodifiableMapView_MapView__UnmodifiableMapMixin() {
+ },
+ _parseJson: function(source, reviver) {
+ var parsed, e, exception, t1;
+ if (typeof source != "string")
+ throw H.wrapException(H.argumentErrorValue(source));
+ parsed = null;
+ try {
+ parsed = JSON.parse(source);
+ } catch (exception) {
+ e = H.unwrapException(exception);
+ t1 = P.FormatException$(String(e), null, null);
+ throw H.wrapException(t1);
+ }
+ t1 = P._convertJsonToDartLazy(parsed);
+ return t1;
+ },
+ _convertJsonToDartLazy: function(object) {
+ var i;
+ if (object == null)
+ return null;
+ if (typeof object != "object")
+ return object;
+ if (Object.getPrototypeOf(object) !== Array.prototype)
+ return new P._JsonMap(object, Object.create(null));
+ for (i = 0; i < object.length; ++i)
+ object[i] = P._convertJsonToDartLazy(object[i]);
+ return object;
+ },
+ Utf8Decoder__convertIntercepted: function(allowMalformed, codeUnits, start, end) {
+ var casted, result;
+ if (codeUnits instanceof Uint8Array) {
+ casted = codeUnits;
+ end = casted.length;
+ if (end - start < 15)
+ return null;
+ result = P.Utf8Decoder__convertInterceptedUint8List(allowMalformed, casted, start, end);
+ if (result != null && allowMalformed)
+ if (result.indexOf("\ufffd") >= 0)
+ return null;
+ return result;
+ }
+ return null;
+ },
+ Utf8Decoder__convertInterceptedUint8List: function(allowMalformed, codeUnits, start, end) {
+ var decoder = allowMalformed ? $.$get$Utf8Decoder__decoderNonfatal() : $.$get$Utf8Decoder__decoder();
+ if (decoder == null)
+ return null;
+ if (0 === start && end === codeUnits.length)
+ return P.Utf8Decoder__useTextDecoder(decoder, codeUnits);
+ return P.Utf8Decoder__useTextDecoder(decoder, codeUnits.subarray(start, P.RangeError_checkValidRange(start, end, codeUnits.length)));
+ },
+ Utf8Decoder__useTextDecoder: function(decoder, codeUnits) {
+ var t1, exception;
+ try {
+ t1 = decoder.decode(codeUnits);
+ return t1;
+ } catch (exception) {
+ H.unwrapException(exception);
+ }
+ return null;
+ },
+ JsonUnsupportedObjectError$: function(unsupportedObject, cause, partialResult) {
+ return new P.JsonUnsupportedObjectError(unsupportedObject, cause);
+ },
+ _defaultToEncodable: function(object) {
+ return object.toJson$0();
+ },
+ _JsonStringStringifier_stringify: function(object, toEncodable, indent) {
+ var t1,
+ output = new P.StringBuffer(""),
+ stringifier = new P._JsonStringStringifier(output, [], P.convert___defaultToEncodable$closure());
+ stringifier.writeObject$1(object);
+ t1 = output._contents;
+ return t1.charCodeAt(0) == 0 ? t1 : t1;
+ },
+ _Utf8Decoder_errorDescription: function(state) {
+ switch (state) {
+ case 65:
+ return "Missing extension byte";
+ case 67:
+ return "Unexpected extension byte";
+ case 69:
+ return "Invalid UTF-8 byte";
+ case 71:
+ return "Overlong encoding";
+ case 73:
+ return "Out of unicode range";
+ case 75:
+ return "Encoded surrogate";
+ case 77:
+ return "Unfinished UTF-8 octet sequence";
+ default:
+ return "";
+ }
+ },
+ _JsonMap: function _JsonMap(t0, t1) {
+ this._original = t0;
+ this._processed = t1;
+ this._data = null;
+ },
+ _JsonMapKeyIterable: function _JsonMapKeyIterable(t0) {
+ this._parent = t0;
+ },
+ Utf8Decoder_closure: function Utf8Decoder_closure() {
+ },
+ Utf8Decoder_closure0: function Utf8Decoder_closure0() {
+ },
+ Codec: function Codec() {
+ },
+ Converter: function Converter() {
+ },
+ JsonUnsupportedObjectError: function JsonUnsupportedObjectError(t0, t1) {
+ this.unsupportedObject = t0;
+ this.cause = t1;
+ },
+ JsonCyclicError: function JsonCyclicError(t0, t1) {
+ this.unsupportedObject = t0;
+ this.cause = t1;
+ },
+ JsonCodec: function JsonCodec() {
+ },
+ JsonEncoder: function JsonEncoder(t0) {
+ this._toEncodable = t0;
+ },
+ JsonDecoder: function JsonDecoder(t0) {
+ this._reviver = t0;
+ },
+ _JsonStringifier: function _JsonStringifier() {
+ },
+ _JsonStringifier_writeMap_closure: function _JsonStringifier_writeMap_closure(t0, t1) {
+ this._box_0 = t0;
+ this.keyValueList = t1;
+ },
+ _JsonStringStringifier: function _JsonStringStringifier(t0, t1, t2) {
+ this._sink = t0;
+ this._seen = t1;
+ this._toEncodable = t2;
+ },
+ Utf8Decoder: function Utf8Decoder(t0) {
+ this._allowMalformed = t0;
+ },
+ _Utf8Decoder: function _Utf8Decoder(t0) {
+ this.allowMalformed = t0;
+ this._convert$_state = 16;
+ this._charOrIndex = 0;
+ },
+ _symbolMapToStringMap: function(map) {
+ var result = new H.JsLinkedHashMap(type$.JsLinkedHashMap_String_dynamic);
+ map.forEach$1(0, new P._symbolMapToStringMap_closure(result));
+ return result;
+ },
+ Function_apply: function($function, positionalArguments, namedArguments) {
+ return H.Primitives_applyFunction($function, positionalArguments, namedArguments == null ? null : P._symbolMapToStringMap(namedArguments));
+ },
+ int_parse: function(source) {
+ var value = H.Primitives_parseInt(source, null);
+ if (value != null)
+ return value;
+ throw H.wrapException(P.FormatException$(source, null, null));
+ },
+ Error__objectToString: function(object) {
+ if (object instanceof H.Closure)
+ return object.toString$0(0);
+ return "Instance of '" + H.S(H.Primitives_objectTypeName(object)) + "'";
+ },
+ List_List$filled: function($length, fill, growable, $E) {
+ var i,
+ result = growable ? J.JSArray_JSArray$growable($length, $E) : J.JSArray_JSArray$fixed($length, $E);
+ if ($length !== 0 && fill != null)
+ for (i = 0; i < result.length; ++i)
+ result[i] = fill;
+ return result;
+ },
+ List_List$from: function(elements, growable, $E) {
+ var t1,
+ list = H.setRuntimeTypeInfo([], $E._eval$1("JSArray<0>"));
+ for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
+ C.JSArray_methods.add$1(list, $E._as(t1.get$current()));
+ return list;
+ },
+ String_String$fromCharCodes: function(charCodes, start, end) {
+ var array, len, t1;
+ if (Array.isArray(charCodes)) {
+ array = charCodes;
+ len = array.length;
+ end = P.RangeError_checkValidRange(start, end, len);
+ return H.Primitives_stringFromCharCodes(start > 0 || end < len ? array.slice(start, end) : array);
+ }
+ t1 = H.Primitives_stringFromNativeUint8List(charCodes, start, P.RangeError_checkValidRange(start, end, charCodes.length));
+ return t1;
+ },
+ StringBuffer__writeAll: function(string, objects, separator) {
+ var iterator = J.get$iterator$ax(objects);
+ if (!iterator.moveNext$0())
+ return string;
+ if (separator.length === 0) {
+ do
+ string += H.S(iterator.get$current());
+ while (iterator.moveNext$0());
+ } else {
+ string += H.S(iterator.get$current());
+ for (; iterator.moveNext$0();)
+ string = string + separator + H.S(iterator.get$current());
+ }
+ return string;
+ },
+ NoSuchMethodError$: function(receiver, memberName, positionalArguments, namedArguments) {
+ return new P.NoSuchMethodError(receiver, memberName, positionalArguments, namedArguments);
+ },
+ StackTrace_current: function() {
+ var stackTrace, exception;
+ if (H.boolConversionCheck($.$get$_hasErrorStackProperty()))
+ return H.getTraceFromException(new Error());
+ try {
+ throw H.wrapException("");
+ } catch (exception) {
+ H.unwrapException(exception);
+ stackTrace = H.getTraceFromException(exception);
+ return stackTrace;
+ }
+ },
+ DateTime__fourDigits: function(n) {
+ var absN = Math.abs(n),
+ sign = n < 0 ? "-" : "";
+ if (absN >= 1000)
+ return "" + n;
+ if (absN >= 100)
+ return sign + "0" + absN;
+ if (absN >= 10)
+ return sign + "00" + absN;
+ return sign + "000" + absN;
+ },
+ DateTime__threeDigits: function(n) {
+ if (n >= 100)
+ return "" + n;
+ if (n >= 10)
+ return "0" + n;
+ return "00" + n;
+ },
+ DateTime__twoDigits: function(n) {
+ if (n >= 10)
+ return "" + n;
+ return "0" + n;
+ },
+ Error_safeToString: function(object) {
+ if (typeof object == "number" || H._isBool(object) || null == object)
+ return J.toString$0$(object);
+ if (typeof object == "string")
+ return JSON.stringify(object);
+ return P.Error__objectToString(object);
+ },
+ AssertionError$: function(message) {
+ return new P.AssertionError(message);
+ },
+ ArgumentError$: function(message) {
+ return new P.ArgumentError(false, null, null, message);
+ },
+ ArgumentError$value: function(value, $name, message) {
+ return new P.ArgumentError(true, value, $name, message);
+ },
+ ArgumentError_checkNotNull: function(argument, $name, $T) {
+ if (argument == null)
+ throw H.wrapException(new P.ArgumentError(false, null, $name, "Must not be null"));
+ return argument;
+ },
+ RangeError$: function(message) {
+ var _null = null;
+ return new P.RangeError(_null, _null, false, _null, _null, message);
+ },
+ RangeError$value: function(value, $name) {
+ return new P.RangeError(null, null, true, value, $name, "Value not in range");
+ },
+ RangeError$range: function(invalidValue, minValue, maxValue, $name, message) {
+ return new P.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value");
+ },
+ RangeError_checkValidRange: function(start, end, $length) {
+ if (0 > start || start > $length)
+ throw H.wrapException(P.RangeError$range(start, 0, $length, "start", null));
+ if (end != null) {
+ if (start > end || end > $length)
+ throw H.wrapException(P.RangeError$range(end, start, $length, "end", null));
+ return end;
+ }
+ return $length;
+ },
+ RangeError_checkNotNegative: function(value, $name) {
+ if (value < 0)
+ throw H.wrapException(P.RangeError$range(value, 0, null, $name, null));
+ return value;
+ },
+ IndexError$: function(invalidValue, indexable, $name, message, $length) {
+ var t1 = H._asIntS($length == null ? J.get$length$asx(indexable) : $length);
+ return new P.IndexError(t1, true, invalidValue, $name, "Index out of range");
+ },
+ UnsupportedError$: function(message) {
+ return new P.UnsupportedError(message);
+ },
+ UnimplementedError$: function(message) {
+ return new P.UnimplementedError(message);
+ },
+ StateError$: function(message) {
+ return new P.StateError(message);
+ },
+ ConcurrentModificationError$: function(modifiedObject) {
+ return new P.ConcurrentModificationError(modifiedObject);
+ },
+ Exception_Exception: function(message) {
+ return new P._Exception(message);
+ },
+ FormatException$: function(message, source, offset) {
+ return new P.FormatException(message, source, offset);
+ },
+ _symbolMapToStringMap_closure: function _symbolMapToStringMap_closure(t0) {
+ this.result = t0;
+ },
+ NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) {
+ this._box_0 = t0;
+ this.sb = t1;
+ },
+ bool: function bool() {
+ },
+ DateTime: function DateTime(t0, t1) {
+ this._value = t0;
+ this.isUtc = t1;
+ },
+ double: function double() {
+ },
+ Duration: function Duration(t0) {
+ this._duration = t0;
+ },
+ Duration_toString_sixDigits: function Duration_toString_sixDigits() {
+ },
+ Duration_toString_twoDigits: function Duration_toString_twoDigits() {
+ },
+ Error0: function Error0() {
+ },
+ AssertionError: function AssertionError(t0) {
+ this.message = t0;
+ },
+ NullThrownError: function NullThrownError() {
+ },
+ ArgumentError: function ArgumentError(t0, t1, t2, t3) {
+ var _ = this;
+ _._hasValue = t0;
+ _.invalidValue = t1;
+ _.name = t2;
+ _.message = t3;
+ },
+ RangeError: function RangeError(t0, t1, t2, t3, t4, t5) {
+ var _ = this;
+ _.start = t0;
+ _.end = t1;
+ _._hasValue = t2;
+ _.invalidValue = t3;
+ _.name = t4;
+ _.message = t5;
+ },
+ IndexError: function IndexError(t0, t1, t2, t3, t4) {
+ var _ = this;
+ _.length = t0;
+ _._hasValue = t1;
+ _.invalidValue = t2;
+ _.name = t3;
+ _.message = t4;
+ },
+ NoSuchMethodError: function NoSuchMethodError(t0, t1, t2, t3) {
+ var _ = this;
+ _._core$_receiver = t0;
+ _._core$_memberName = t1;
+ _._core$_arguments = t2;
+ _._namedArguments = t3;
+ },
+ UnsupportedError: function UnsupportedError(t0) {
+ this.message = t0;
+ },
+ UnimplementedError: function UnimplementedError(t0) {
+ this.message = t0;
+ },
+ StateError: function StateError(t0) {
+ this.message = t0;
+ },
+ ConcurrentModificationError: function ConcurrentModificationError(t0) {
+ this.modifiedObject = t0;
+ },
+ OutOfMemoryError: function OutOfMemoryError() {
+ },
+ StackOverflowError: function StackOverflowError() {
+ },
+ CyclicInitializationError: function CyclicInitializationError(t0) {
+ this.variableName = t0;
+ },
+ _Exception: function _Exception(t0) {
+ this.message = t0;
+ },
+ FormatException: function FormatException(t0, t1, t2) {
+ this.message = t0;
+ this.source = t1;
+ this.offset = t2;
+ },
+ Function: function Function() {
+ },
+ int: function int() {
+ },
+ Iterable: function Iterable() {
+ },
+ Iterator: function Iterator() {
+ },
+ List: function List() {
+ },
+ Map: function Map() {
+ },
+ MapEntry: function MapEntry() {
+ },
+ Null: function Null() {
+ },
+ num: function num() {
+ },
+ Object: function Object() {
+ },
+ StackTrace: function StackTrace() {
+ },
+ _StringStackTrace: function _StringStackTrace() {
+ },
+ String: function String() {
+ },
+ StringBuffer: function StringBuffer(t0) {
+ this._contents = t0;
+ },
+ Symbol0: function Symbol0() {
+ },
+ convertDartToNative_Dictionary: function(dict) {
+ var object = {};
+ dict.forEach$1(0, new P.convertDartToNative_Dictionary_closure(object));
+ return object;
+ },
+ _AcceptStructuredClone: function _AcceptStructuredClone() {
+ },
+ _AcceptStructuredClone_walk_closure: function _AcceptStructuredClone_walk_closure(t0, t1) {
+ this._box_0 = t0;
+ this.$this = t1;
+ },
+ convertDartToNative_Dictionary_closure: function convertDartToNative_Dictionary_closure(t0) {
+ this.object = t0;
+ },
+ _AcceptStructuredCloneDart2Js: function _AcceptStructuredCloneDart2Js(t0, t1) {
+ this.values = t0;
+ this.copies = t1;
+ this.mustCopy = false;
+ },
+ promiseToFuture: function(jsPromise, $T) {
+ var t1 = new P._Future($.Zone__current, $T._eval$1("_Future<0>")),
+ completer = new P._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>"));
+ jsPromise.then(H.convertDartClosureToJS(new P.promiseToFuture_closure(completer, $T), 1), H.convertDartClosureToJS(new P.promiseToFuture_closure0(completer), 1));
+ return t1;
+ },
+ promiseToFuture_closure: function promiseToFuture_closure(t0, t1) {
+ this.completer = t0;
+ this.T = t1;
+ },
+ promiseToFuture_closure0: function promiseToFuture_closure0(t0) {
+ this.completer = t0;
+ },
+ _JSRandom: function _JSRandom() {
+ },
+ ByteBuffer: function ByteBuffer() {
+ },
+ ByteData: function ByteData() {
+ },
+ Int8List: function Int8List() {
+ },
+ Uint8List: function Uint8List() {
+ },
+ Uint8ClampedList: function Uint8ClampedList() {
+ },
+ Int16List: function Int16List() {
+ },
+ Uint16List: function Uint16List() {
+ },
+ Int32List: function Int32List() {
+ },
+ Uint32List: function Uint32List() {
+ },
+ Float32List: function Float32List() {
+ },
+ Float64List: function Float64List() {
+ }
+ },
+ W = {
+ EventSource__factoryEventSource: function(url, eventSourceInitDict) {
+ var t1 = new EventSource(url, P.convertDartToNative_Dictionary(eventSourceInitDict));
+ return t1;
+ },
+ HttpRequest_request: function(url, method, sendData, withCredentials) {
+ var t2, t3, t4,
+ t1 = new P._Future($.Zone__current, type$._Future_HttpRequest),
+ completer = new P._AsyncCompleter(t1, type$._AsyncCompleter_HttpRequest),
+ xhr = new XMLHttpRequest();
+ C.HttpRequest_methods.open$3$async(xhr, method, url, true);
+ xhr.withCredentials = true;
+ t2 = type$.nullable_void_Function_legacy_ProgressEvent;
+ t3 = t2._as(new W.HttpRequest_request_closure(xhr, completer));
+ type$.nullable_void_Function._as(null);
+ t4 = type$.legacy_ProgressEvent;
+ W._EventStreamSubscription$(xhr, "load", t3, false, t4);
+ W._EventStreamSubscription$(xhr, "error", t2._as(completer.get$completeError()), false, t4);
+ xhr.send(sendData);
+ return t1;
+ },
+ _EventStreamSubscription$: function(_target, _eventType, onData, _useCapture, $T) {
+ var t1 = onData == null ? null : W._wrapZone(new W._EventStreamSubscription_closure(onData), type$.Event);
+ t1 = new W._EventStreamSubscription(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription<0>"));
+ t1._tryResume$0();
+ return t1;
+ },
+ _wrapZone: function(callback, $T) {
+ var t1 = $.Zone__current;
+ if (t1 === C.C__RootZone)
+ return callback;
+ return t1.bindUnaryCallbackGuarded$1$1(callback, $T);
+ },
+ DomException: function DomException() {
+ },
+ Event0: function Event0() {
+ },
+ EventSource: function EventSource() {
+ },
+ EventTarget: function EventTarget() {
+ },
+ HttpRequest: function HttpRequest() {
+ },
+ HttpRequest_request_closure: function HttpRequest_request_closure(t0, t1) {
+ this.xhr = t0;
+ this.completer = t1;
+ },
+ HttpRequestEventTarget: function HttpRequestEventTarget() {
+ },
+ MessageEvent: function MessageEvent() {
+ },
+ ProgressEvent: function ProgressEvent() {
+ },
+ EventStreamProvider: function EventStreamProvider(t0, t1) {
+ this._eventType = t0;
+ this.$ti = t1;
+ },
+ _EventStream: function _EventStream(t0, t1, t2, t3) {
+ var _ = this;
+ _._target = t0;
+ _._eventType = t1;
+ _._useCapture = t2;
+ _.$ti = t3;
+ },
+ _EventStreamSubscription: function _EventStreamSubscription(t0, t1, t2, t3, t4) {
+ var _ = this;
+ _._pauseCount = 0;
+ _._target = t0;
+ _._eventType = t1;
+ _._onData = t2;
+ _._useCapture = t3;
+ _.$ti = t4;
+ },
+ _EventStreamSubscription_closure: function _EventStreamSubscription_closure(t0) {
+ this.onData = t0;
+ },
+ _EventStreamSubscription_onData_closure: function _EventStreamSubscription_onData_closure(t0) {
+ this.handleData = t0;
+ }
+ },
+ V = {ErrorResult: function ErrorResult(t0, t1) {
+ this.error = t0;
+ this.stackTrace = t1;
+ }},
+ E = {Result: function Result() {
+ },
+ main: function() {
+ var $async$goto = 0,
+ $async$completer = P._makeAsyncAwaitCompleter(type$.void),
+ ddsChannel, vmService, id, message, channel, t1, t2, t3, $async$temp1, $async$temp2, $async$temp3;
+ var $async$main = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
+ if ($async$errorCode === 1)
+ return P._asyncRethrow($async$result, $async$completer);
+ while (true)
+ switch ($async$goto) {
+ case 0:
+ // Function start
+ channel = M.SseClient$("/test");
+ t1 = channel._incomingController;
+ t2 = new Q.QueueList(type$.QueueList_legacy_Result_legacy_String);
+ t3 = new Array(8);
+ t3.fixed$length = Array;
+ t2.set$_table(H.setRuntimeTypeInfo(t3, type$.JSArray_legacy_Result_legacy_String));
+ $async$temp1 = M;
+ $async$goto = 2;
+ return P._asyncAwait(new G.StreamQueue(new P._ControllerStream(t1, H._instanceType(t1)._eval$1("_ControllerStream<1>")), t2, new P.ListQueue(P.List_List$filled(P.ListQueue__calculateCapacity(null), null, false, type$.nullable__EventRequest_dynamic), type$.ListQueue_legacy__EventRequest_dynamic), type$.StreamQueue_legacy_String).get$next(), $async$main);
+ case 2:
+ // returning from await.
+ ddsChannel = $async$temp1.SseClient$($async$result);
+ t2 = new W._EventStream(ddsChannel._eventSource, "open", false, type$._EventStream_legacy_Event);
+ $async$goto = 3;
+ return P._asyncAwait(t2.get$first(t2), $async$main);
+ case 3:
+ // returning from await.
+ t2 = ddsChannel._incomingController;
+ vmService = Q.VmService$(new P._ControllerStream(t2, H._instanceType(t2)._eval$1("_ControllerStream<1>")), new E.main_closure(ddsChannel));
+ id = "" + ++vmService._id;
+ t2 = new P._Future($.Zone__current, type$._Future_legacy_Version);
+ vmService._completers.$indexSet(0, id, new P._AsyncCompleter(t2, type$._AsyncCompleter_legacy_Version));
+ vmService._methodCalls.$indexSet(0, id, "getVersion");
+ t1 = type$.dynamic;
+ message = C.C_JsonCodec.encode$2$toEncodable(P.LinkedHashMap_LinkedHashMap$_literal(["jsonrpc", "2.0", "id", id, "method", "getVersion", "params", C.Map_empty], t1, t1), null);
+ vmService._onSend.add$1(0, message);
+ vmService._writeMessage.call$1(message);
+ t1 = channel._outgoingController;
+ $async$temp1 = t1;
+ $async$temp2 = H._instanceType(t1)._precomputed1;
+ $async$temp3 = C.C_JsonCodec;
+ $async$goto = 4;
+ return P._asyncAwait(t2, $async$main);
+ case 4:
+ // returning from await.
+ $async$temp1.add$1(0, $async$temp2._as($async$temp3.encode$1($async$result.json)));
+ ddsChannel.close$0(0);
+ // implicit return
+ return P._asyncReturn(null, $async$completer);
+ }
+ });
+ return P._asyncStartSync($async$main, $async$completer);
+ },
+ main_closure: function main_closure(t0) {
+ this.ddsChannel = t0;
+ }
+ },
+ F = {ValueResult: function ValueResult(t0, t1) {
+ this.value = t0;
+ this.$ti = t1;
+ },
+ Logger_Logger: function($name) {
+ return $.Logger__loggers.putIfAbsent$2($name, new F.Logger_Logger_closure($name));
+ },
+ Logger: function Logger(t0, t1, t2) {
+ var _ = this;
+ _.name = t0;
+ _.parent = t1;
+ _._level = null;
+ _._children = t2;
+ },
+ Logger_Logger_closure: function Logger_Logger_closure(t0) {
+ this.name = t0;
+ }
+ },
+ G = {StreamQueue: function StreamQueue(t0, t1, t2, t3) {
+ var _ = this;
+ _._source = t0;
+ _._subscription = null;
+ _._isDone = false;
+ _._eventsReceived = 0;
+ _._eventQueue = t1;
+ _._requestQueue = t2;
+ _.$ti = t3;
+ }, StreamQueue__ensureListening_closure: function StreamQueue__ensureListening_closure(t0) {
+ this.$this = t0;
+ }, StreamQueue__ensureListening_closure1: function StreamQueue__ensureListening_closure1(t0) {
+ this.$this = t0;
+ }, StreamQueue__ensureListening_closure0: function StreamQueue__ensureListening_closure0(t0) {
+ this.$this = t0;
+ }, _EventRequest: function _EventRequest() {
+ }, _NextRequest: function _NextRequest(t0, t1) {
+ this._completer = t0;
+ this.$ti = t1;
+ }},
+ Q = {QueueList: function QueueList(t0) {
+ var _ = this;
+ _._table = null;
+ _._queue_list$_tail = _._queue_list$_head = 0;
+ _.$ti = t0;
+ }, _QueueList_Object_ListMixin: function _QueueList_Object_ListMixin() {
+ },
+ createServiceObject: function(json, expectedTypes) {
+ var t1, type, _null = null;
+ if (json == null)
+ return _null;
+ if (type$.legacy_List_dynamic._is(json)) {
+ t1 = J.map$1$1$ax(json, new Q.createServiceObject_closure(expectedTypes), type$.legacy_Object);
+ return P.List_List$from(t1, true, t1.$ti._eval$1("ListIterable.E"));
+ } else if (type$.legacy_Map_dynamic_dynamic._is(json)) {
+ type = H._asStringS(json.$index(0, "type"));
+ if (type == null)
+ if (expectedTypes.length === 1)
+ type = (expectedTypes && C.JSArray_methods).get$first(expectedTypes);
+ else
+ return _null;
+ else if (J.$eq$(json.$index(0, "type"), "@Instance") && J.$eq$(json.$index(0, "kind"), "Null") && !(expectedTypes && C.JSArray_methods).contains$1(expectedTypes, type))
+ return _null;
+ if ($._typeFactories.$index(0, type) == null)
+ return _null;
+ else
+ return $._typeFactories.$index(0, type).call$1(json);
+ } else
+ return json;
+ },
+ _createSpecificObject: function(json, creator) {
+ var t1, t2, key;
+ if (json == null)
+ return null;
+ if (type$.legacy_List_dynamic._is(json)) {
+ t1 = J.map$1$1$ax(json, new Q._createSpecificObject_closure(creator), type$.dynamic);
+ return P.List_List$from(t1, true, t1.$ti._eval$1("ListIterable.E"));
+ } else if (type$.legacy_Map_dynamic_dynamic._is(json)) {
+ t1 = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.dynamic);
+ for (t2 = json.get$keys(), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
+ key = H._asStringS(t2.get$current());
+ t1.$indexSet(0, key, json.$index(0, key));
+ }
+ return creator.call$1(t1);
+ } else
+ return json;
+ },
+ _setIfNotNull: function(json, key, value) {
+ if (value == null)
+ return;
+ json.$indexSet(0, key, value);
+ },
+ VmService$: function(inStream, writeMessage) {
+ var t1 = type$.legacy_String;
+ t1 = new Q.VmService(P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.legacy_Completer_dynamic), P.LinkedHashMap_LinkedHashMap$_empty(t1, t1), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.legacy_legacy_Future_legacy_Map_of_legacy_String_and_dynamic_Function_legacy_Map_of_legacy_String_and_dynamic), P.StreamController_StreamController$broadcast(true, t1), P.StreamController_StreamController$broadcast(true, t1), new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_dynamic), type$._AsyncCompleter_dynamic), P.LinkedHashMap_LinkedHashMap$_empty(t1, type$.legacy_StreamController_legacy_Event));
+ t1.VmService$5$disposeHandler$log$streamClosed(inStream, writeMessage, null, null, null);
+ return t1;
+ },
+ ExtensionData_parse: function(json) {
+ return json == null ? null : new Q.ExtensionData(json);
+ },
+ AllocationProfile_parse: function(json) {
+ var t1, t2,
+ _s24_ = "dateLastAccumulatorReset",
+ _s17_ = "dateLastServiceGC";
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.AllocationProfile(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t2 = Q.createServiceObject(json.$index(0, "members"), C.List_ClassHeapStats);
+ if (t2 == null)
+ t2 = [];
+ t1.set$members(P.List_List$from(type$.Iterable_dynamic._as(t2), true, type$.legacy_ClassHeapStats));
+ t1.memoryUsage = type$.legacy_MemoryUsage._as(Q.createServiceObject(json.$index(0, "memoryUsage"), C.List_MemoryUsage));
+ t1.dateLastAccumulatorReset = H._asIntS(typeof json.$index(0, _s24_) == "string" ? P.int_parse(H._asStringS(json.$index(0, _s24_))) : json.$index(0, _s24_));
+ t1.dateLastServiceGC = H._asIntS(typeof json.$index(0, _s17_) == "string" ? P.int_parse(H._asStringS(json.$index(0, _s17_))) : json.$index(0, _s17_));
+ return t1;
+ },
+ BoundField_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.BoundField();
+ t1.decl = type$.legacy_FieldRef._as(Q.createServiceObject(json.$index(0, "decl"), C.List_FieldRef));
+ t1.value = Q.createServiceObject(json.$index(0, "value"), C.List_InstanceRef_Sentinel);
+ return t1;
+ },
+ BoundVariable_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.BoundVariable(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t1.value = Q.createServiceObject(json.$index(0, "value"), C.List_PAk);
+ t1.declarationTokenPos = H._asIntS(json.$index(0, "declarationTokenPos"));
+ t1.scopeStartTokenPos = H._asIntS(json.$index(0, "scopeStartTokenPos"));
+ t1.scopeEndTokenPos = H._asIntS(json.$index(0, "scopeEndTokenPos"));
+ return t1;
+ },
+ Breakpoint_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Breakpoint(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.Obj$_fromJson$1(json);
+ t1.breakpointNumber = H._asIntS(json.$index(0, "breakpointNumber"));
+ t1.resolved = H._asBoolS(json.$index(0, "resolved"));
+ t1.isSyntheticAsyncContinuation = H._asBoolS(json.$index(0, "isSyntheticAsyncContinuation"));
+ t1.location = Q.createServiceObject(json.$index(0, "location"), C.List_oqh);
+ return t1;
+ },
+ ClassRef_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.ClassRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.ObjRef$_fromJson$1(json);
+ t1.name = H._asStringS(json.$index(0, "name"));
+ return t1;
+ },
+ Class_parse: function(json) {
+ var t1, t2, t3, t4, t5;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Class(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.Obj$_fromJson$1(json);
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t1.error = type$.legacy_ErrorRef._as(Q.createServiceObject(json.$index(0, "error"), C.List_ErrorRef));
+ t1.isAbstract = H._asBoolS(json.$index(0, "abstract"));
+ t1.isConst = H._asBoolS(json.$index(0, "const"));
+ t1.library = type$.legacy_LibraryRef._as(Q.createServiceObject(json.$index(0, "library"), C.List_LibraryRef));
+ t1.location = type$.legacy_SourceLocation._as(Q.createServiceObject(json.$index(0, "location"), C.List_SourceLocation));
+ t2 = type$.legacy_ClassRef;
+ t1.superClass = t2._as(Q.createServiceObject(json.$index(0, "super"), C.List_ClassRef));
+ t3 = type$.legacy_InstanceRef;
+ t1.superType = t3._as(Q.createServiceObject(json.$index(0, "superType"), C.List_InstanceRef));
+ t4 = Q.createServiceObject(json.$index(0, "interfaces"), C.List_InstanceRef);
+ if (t4 == null)
+ t4 = [];
+ t5 = type$.Iterable_dynamic;
+ t1.set$interfaces(P.List_List$from(t5._as(t4), true, t3));
+ t1.mixin = t3._as(Q.createServiceObject(json.$index(0, "mixin"), C.List_InstanceRef));
+ t3 = Q.createServiceObject(json.$index(0, "fields"), C.List_FieldRef);
+ t1.set$fields(P.List_List$from(t5._as(t3 == null ? [] : t3), true, type$.legacy_FieldRef));
+ t3 = Q.createServiceObject(json.$index(0, "functions"), C.List_FuncRef);
+ t1.set$functions(P.List_List$from(t5._as(t3 == null ? [] : t3), true, type$.legacy_FuncRef));
+ t3 = Q.createServiceObject(json.$index(0, "subclasses"), C.List_ClassRef);
+ t1.set$subclasses(P.List_List$from(t5._as(t3 == null ? [] : t3), true, t2));
+ return t1;
+ },
+ ClassHeapStats_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.ClassHeapStats(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.classRef = type$.legacy_ClassRef._as(Q.createServiceObject(json.$index(0, "class"), C.List_ClassRef));
+ t1.accumulatedSize = H._asIntS(json.$index(0, "accumulatedSize"));
+ t1.bytesCurrent = H._asIntS(json.$index(0, "bytesCurrent"));
+ t1.instancesAccumulated = H._asIntS(json.$index(0, "instancesAccumulated"));
+ t1.instancesCurrent = H._asIntS(json.$index(0, "instancesCurrent"));
+ return t1;
+ },
+ ClassList_parse: function(json) {
+ var t1, t2;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.ClassList(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t2 = Q.createServiceObject(json.$index(0, "classes"), C.List_ClassRef);
+ if (t2 == null)
+ t2 = [];
+ t1.set$classes(P.List_List$from(type$.Iterable_dynamic._as(t2), true, type$.legacy_ClassRef));
+ return t1;
+ },
+ ClientName_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.ClientName(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.name = H._asStringS(json.$index(0, "name"));
+ return t1;
+ },
+ CodeRef_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.CodeRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.ObjRef$_fromJson$1(json);
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t1.kind = H._asStringS(json.$index(0, "kind"));
+ return t1;
+ },
+ Code_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Code(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.ObjRef$_fromJson$1(json);
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t1.kind = H._asStringS(json.$index(0, "kind"));
+ return t1;
+ },
+ ContextRef_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.ContextRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.ObjRef$_fromJson$1(json);
+ t1.length = H._asIntS(json.$index(0, "length"));
+ return t1;
+ },
+ Context_parse: function(json) {
+ var t1, t2;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Context(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.Obj$_fromJson$1(json);
+ t1.length = H._asIntS(json.$index(0, "length"));
+ t1.parent = type$.legacy_Context._as(Q.createServiceObject(json.$index(0, "parent"), C.List_Context));
+ t2 = Q.createServiceObject(json.$index(0, "variables"), C.List_ContextElement);
+ if (t2 == null)
+ t2 = [];
+ t1.set$variables(P.List_List$from(type$.Iterable_dynamic._as(t2), true, type$.legacy_ContextElement));
+ return t1;
+ },
+ ContextElement_parse: function(json) {
+ var t1 = new Q.ContextElement();
+ t1.value = Q.createServiceObject(type$.legacy_Map_of_legacy_String_and_dynamic._as(json).$index(0, "value"), C.List_InstanceRef_Sentinel);
+ return t1;
+ },
+ CpuSamples_parse: function(json) {
+ var t1, t2, t3;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.CpuSamples(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.samplePeriod = H._asIntS(json.$index(0, "samplePeriod"));
+ t1.maxStackDepth = H._asIntS(json.$index(0, "maxStackDepth"));
+ t1.sampleCount = H._asIntS(json.$index(0, "sampleCount"));
+ t1.timeSpan = H._asIntS(json.$index(0, "timeSpan"));
+ t1.timeOriginMicros = H._asIntS(json.$index(0, "timeOriginMicros"));
+ t1.timeExtentMicros = H._asIntS(json.$index(0, "timeExtentMicros"));
+ t1.pid = H._asIntS(json.$index(0, "pid"));
+ t2 = Q.createServiceObject(json.$index(0, "functions"), C.List_ProfileFunction);
+ if (t2 == null)
+ t2 = [];
+ t3 = type$.Iterable_dynamic;
+ t1.set$functions(P.List_List$from(t3._as(t2), true, type$.legacy_ProfileFunction));
+ t2 = Q.createServiceObject(json.$index(0, "samples"), C.List_CpuSample);
+ t1.set$samples(P.List_List$from(t3._as(t2 == null ? [] : t2), true, type$.legacy_CpuSample));
+ return t1;
+ },
+ CpuSample_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.CpuSample();
+ t1.tid = H._asIntS(json.$index(0, "tid"));
+ t1.timestamp = H._asIntS(json.$index(0, "timestamp"));
+ t1.vmTag = H._asStringS(json.$index(0, "vmTag"));
+ t1.userTag = H._asStringS(json.$index(0, "userTag"));
+ t1.truncated = H._asBoolS(json.$index(0, "truncated"));
+ t1.set$stack(P.List_List$from(type$.Iterable_dynamic._as(json.$index(0, "stack")), true, type$.legacy_int));
+ return t1;
+ },
+ ErrorRef_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.ErrorRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.ObjRef$_fromJson$1(json);
+ t1.kind = H._asStringS(json.$index(0, "kind"));
+ t1.message = H._asStringS(json.$index(0, "message"));
+ return t1;
+ },
+ Error_parse: function(json) {
+ var t1, t2;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Error(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.Obj$_fromJson$1(json);
+ t1.kind = H._asStringS(json.$index(0, "kind"));
+ t1.message = H._asStringS(json.$index(0, "message"));
+ t2 = type$.legacy_InstanceRef;
+ t1.exception = t2._as(Q.createServiceObject(json.$index(0, "exception"), C.List_InstanceRef));
+ t1.stacktrace = t2._as(Q.createServiceObject(json.$index(0, "stacktrace"), C.List_InstanceRef));
+ return t1;
+ },
+ Event_parse: function(json) {
+ var t1, t2, _null = null,
+ _s16_ = "pauseBreakpoints",
+ _s14_ = "timelineEvents",
+ _s14_0 = "updatedStreams";
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Event(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.kind = H._asStringS(json.$index(0, "kind"));
+ t1.isolate = type$.legacy_IsolateRef._as(Q.createServiceObject(json.$index(0, "isolate"), C.List_IsolateRef));
+ t1.vm = type$.legacy_VMRef._as(Q.createServiceObject(json.$index(0, "vm"), C.List_VMRef));
+ t1.timestamp = H._asIntS(json.$index(0, "timestamp"));
+ t2 = type$.legacy_Breakpoint;
+ t1.breakpoint = t2._as(Q.createServiceObject(json.$index(0, "breakpoint"), C.List_Breakpoint));
+ t1.set$pauseBreakpoints(json.$index(0, _s16_) == null ? _null : P.List_List$from(type$.Iterable_dynamic._as(Q.createServiceObject(json.$index(0, _s16_), C.List_Breakpoint)), true, t2));
+ t1.topFrame = type$.legacy_Frame._as(Q.createServiceObject(json.$index(0, "topFrame"), C.List_Frame));
+ t2 = type$.legacy_InstanceRef;
+ t1.exception = t2._as(Q.createServiceObject(json.$index(0, "exception"), C.List_InstanceRef));
+ t1.bytes = H._asStringS(json.$index(0, "bytes"));
+ t1.inspectee = t2._as(Q.createServiceObject(json.$index(0, "inspectee"), C.List_InstanceRef));
+ t1.extensionRPC = H._asStringS(json.$index(0, "extensionRPC"));
+ t1.extensionKind = H._asStringS(json.$index(0, "extensionKind"));
+ t2 = type$.legacy_Map_dynamic_dynamic._as(json.$index(0, "extensionData"));
+ t1.extensionData = t2 == null ? _null : new Q.ExtensionData(t2);
+ t1.set$timelineEvents(json.$index(0, _s14_) == null ? _null : P.List_List$from(type$.Iterable_dynamic._as(Q.createServiceObject(json.$index(0, _s14_), C.List_TimelineEvent)), true, type$.legacy_TimelineEvent));
+ t1.set$updatedStreams(json.$index(0, _s14_0) == null ? _null : P.List_List$from(type$.Iterable_dynamic._as(json.$index(0, _s14_0)), true, type$.legacy_String));
+ t1.atAsyncSuspension = H._asBoolS(json.$index(0, "atAsyncSuspension"));
+ t1.status = H._asStringS(json.$index(0, "status"));
+ t1.logRecord = type$.legacy_LogRecord._as(Q.createServiceObject(json.$index(0, "logRecord"), C.List_LogRecord));
+ t1.service = H._asStringS(json.$index(0, "service"));
+ t1.method = H._asStringS(json.$index(0, "method"));
+ t1.alias = H._asStringS(json.$index(0, "alias"));
+ t1.flag = H._asStringS(json.$index(0, "flag"));
+ t1.newValue = H._asStringS(json.$index(0, "newValue"));
+ t1.last = H._asBoolS(json.$index(0, "last"));
+ t1.data = type$.legacy_ByteData._as(json.$index(0, "data"));
+ return t1;
+ },
+ FieldRef_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.FieldRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.ObjRef$_fromJson$1(json);
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t1.owner = type$.legacy_ObjRef._as(Q.createServiceObject(json.$index(0, "owner"), C.List_ObjRef));
+ t1.declaredType = type$.legacy_InstanceRef._as(Q.createServiceObject(json.$index(0, "declaredType"), C.List_InstanceRef));
+ t1.isConst = H._asBoolS(json.$index(0, "const"));
+ t1.isFinal = H._asBoolS(json.$index(0, "final"));
+ t1.isStatic = H._asBoolS(json.$index(0, "static"));
+ return t1;
+ },
+ Field_parse: function(json) {
+ var t1, t2;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Field(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.Obj$_fromJson$1(json);
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t1.owner = type$.legacy_ObjRef._as(Q.createServiceObject(json.$index(0, "owner"), C.List_ObjRef));
+ t2 = type$.legacy_InstanceRef;
+ t1.declaredType = t2._as(Q.createServiceObject(json.$index(0, "declaredType"), C.List_InstanceRef));
+ t1.isConst = H._asBoolS(json.$index(0, "const"));
+ t1.isFinal = H._asBoolS(json.$index(0, "final"));
+ t1.isStatic = H._asBoolS(json.$index(0, "static"));
+ t1.staticValue = t2._as(Q.createServiceObject(json.$index(0, "staticValue"), C.List_InstanceRef));
+ t1.location = type$.legacy_SourceLocation._as(Q.createServiceObject(json.$index(0, "location"), C.List_SourceLocation));
+ return t1;
+ },
+ Flag_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Flag();
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t1.comment = H._asStringS(json.$index(0, "comment"));
+ t1.modified = H._asBoolS(json.$index(0, "modified"));
+ t1.valueAsString = H._asStringS(json.$index(0, "valueAsString"));
+ return t1;
+ },
+ FlagList_parse: function(json) {
+ var t1, t2;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.FlagList(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t2 = Q.createServiceObject(json.$index(0, "flags"), C.List_Flag);
+ if (t2 == null)
+ t2 = [];
+ t1.set$flags(P.List_List$from(type$.Iterable_dynamic._as(t2), true, type$.legacy_Flag));
+ return t1;
+ },
+ Frame_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Frame(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.index = H._asIntS(json.$index(0, "index"));
+ t1.$function = type$.legacy_FuncRef._as(Q.createServiceObject(json.$index(0, "function"), C.List_FuncRef));
+ t1.code = type$.legacy_CodeRef._as(Q.createServiceObject(json.$index(0, "code"), C.List_CodeRef));
+ t1.location = type$.legacy_SourceLocation._as(Q.createServiceObject(json.$index(0, "location"), C.List_SourceLocation));
+ t1.set$vars(json.$index(0, "vars") == null ? null : P.List_List$from(type$.Iterable_dynamic._as(Q.createServiceObject(json.$index(0, "vars"), C.List_BoundVariable)), true, type$.legacy_BoundVariable));
+ t1.kind = H._asStringS(json.$index(0, "kind"));
+ return t1;
+ },
+ FuncRef_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.FuncRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.ObjRef$_fromJson$1(json);
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t1.owner = Q.createServiceObject(json.$index(0, "owner"), C.List_LibraryRef_ClassRef_FuncRef);
+ t1.isStatic = H._asBoolS(json.$index(0, "static"));
+ t1.isConst = H._asBoolS(json.$index(0, "const"));
+ return t1;
+ },
+ Func_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Func(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.Obj$_fromJson$1(json);
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t1.owner = Q.createServiceObject(json.$index(0, "owner"), C.List_LibraryRef_ClassRef_FuncRef);
+ t1.isStatic = H._asBoolS(json.$index(0, "static"));
+ t1.isConst = H._asBoolS(json.$index(0, "const"));
+ t1.location = type$.legacy_SourceLocation._as(Q.createServiceObject(json.$index(0, "location"), C.List_SourceLocation));
+ t1.code = type$.legacy_CodeRef._as(Q.createServiceObject(json.$index(0, "code"), C.List_CodeRef));
+ return t1;
+ },
+ InstanceRef_parse: function(json) {
+ var t1 = Q.InstanceRef$_fromJson(type$.legacy_Map_of_legacy_String_and_dynamic._as(json));
+ return t1;
+ },
+ InstanceRef$_fromJson: function(json) {
+ var t1 = new Q.InstanceRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.ObjRef$_fromJson$1(json);
+ t1.InstanceRef$_fromJson$1(json);
+ return t1;
+ },
+ Instance_parse: function(json) {
+ var t1 = Q.Instance$_fromJson(type$.legacy_Map_of_legacy_String_and_dynamic._as(json));
+ return t1;
+ },
+ Instance$_fromJson: function(json) {
+ var t1 = new Q.Instance(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.Obj$_fromJson$1(json);
+ t1.Instance$_fromJson$1(json);
+ return t1;
+ },
+ IsolateRef_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.IsolateRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.id = H._asStringS(json.$index(0, "id"));
+ t1.number = H._asStringS(json.$index(0, "number"));
+ t1.name = H._asStringS(json.$index(0, "name"));
+ return t1;
+ },
+ Isolate_parse: function(json) {
+ var t1, t2, t3, t4,
+ _s13_ = "extensionRPCs";
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Isolate(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.id = H._asStringS(json.$index(0, "id"));
+ t1.number = H._asStringS(json.$index(0, "number"));
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t1.startTime = H._asIntS(json.$index(0, "startTime"));
+ t1.runnable = H._asBoolS(json.$index(0, "runnable"));
+ t1.livePorts = H._asIntS(json.$index(0, "livePorts"));
+ t1.pauseOnExit = H._asBoolS(json.$index(0, "pauseOnExit"));
+ t1.pauseEvent = type$.legacy_Event._as(Q.createServiceObject(json.$index(0, "pauseEvent"), C.List_Event));
+ t2 = type$.legacy_LibraryRef;
+ t1.rootLib = t2._as(Q.createServiceObject(json.$index(0, "rootLib"), C.List_LibraryRef));
+ t3 = Q.createServiceObject(json.$index(0, "libraries"), C.List_LibraryRef);
+ if (t3 == null)
+ t3 = [];
+ t4 = type$.Iterable_dynamic;
+ t1.set$libraries(P.List_List$from(t4._as(t3), true, t2));
+ t2 = Q.createServiceObject(json.$index(0, "breakpoints"), C.List_Breakpoint);
+ t1.set$breakpoints(P.List_List$from(t4._as(t2 == null ? [] : t2), true, type$.legacy_Breakpoint));
+ t1.error = type$.legacy_Error._as(Q.createServiceObject(json.$index(0, "error"), C.List_Error));
+ t1.exceptionPauseMode = H._asStringS(json.$index(0, "exceptionPauseMode"));
+ t1.set$extensionRPCs(json.$index(0, _s13_) == null ? null : P.List_List$from(t4._as(json.$index(0, _s13_)), true, type$.legacy_String));
+ return t1;
+ },
+ IsolateGroupRef_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.IsolateGroupRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.id = H._asStringS(json.$index(0, "id"));
+ t1.number = H._asStringS(json.$index(0, "number"));
+ t1.name = H._asStringS(json.$index(0, "name"));
+ return t1;
+ },
+ IsolateGroup_parse: function(json) {
+ var t1, t2;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.IsolateGroup(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.id = H._asStringS(json.$index(0, "id"));
+ t1.number = H._asStringS(json.$index(0, "number"));
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t2 = Q.createServiceObject(json.$index(0, "isolates"), C.List_IsolateRef);
+ if (t2 == null)
+ t2 = [];
+ t1.set$isolates(P.List_List$from(type$.Iterable_dynamic._as(t2), true, type$.legacy_IsolateRef));
+ return t1;
+ },
+ InboundReferences_parse: function(json) {
+ var t1, t2;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.InboundReferences(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t2 = Q.createServiceObject(json.$index(0, "references"), C.List_InboundReference);
+ if (t2 == null)
+ t2 = [];
+ t1.set$references(P.List_List$from(type$.Iterable_dynamic._as(t2), true, type$.legacy_InboundReference));
+ return t1;
+ },
+ InboundReference_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.InboundReference();
+ t1.source = type$.legacy_ObjRef._as(Q.createServiceObject(json.$index(0, "source"), C.List_ObjRef));
+ t1.parentListIndex = H._asIntS(json.$index(0, "parentListIndex"));
+ t1.parentField = type$.legacy_FieldRef._as(Q.createServiceObject(json.$index(0, "parentField"), C.List_FieldRef));
+ return t1;
+ },
+ InstanceSet_parse: function(json) {
+ var t1, t2;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.InstanceSet(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.totalCount = H._asIntS(json.$index(0, "totalCount"));
+ t2 = json.$index(0, "instances");
+ t1.set$instances(P.List_List$from(type$.Iterable_dynamic._as(Q.createServiceObject(t2 == null ? json.$index(0, "samples") : t2, C.List_ObjRef)), true, type$.legacy_ObjRef));
+ return t1;
+ },
+ LibraryRef_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.LibraryRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.ObjRef$_fromJson$1(json);
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t1.uri = H._asStringS(json.$index(0, "uri"));
+ return t1;
+ },
+ Library_parse: function(json) {
+ var t1, t2, t3;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Library(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.Obj$_fromJson$1(json);
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t1.uri = H._asStringS(json.$index(0, "uri"));
+ t1.debuggable = H._asBoolS(json.$index(0, "debuggable"));
+ t2 = type$.Iterable_dynamic;
+ t1.set$dependencies(P.List_List$from(t2._as(Q._createSpecificObject(json.$index(0, "dependencies"), Q.vm_service_LibraryDependency_parse$closure())), true, type$.legacy_LibraryDependency));
+ t3 = Q.createServiceObject(json.$index(0, "scripts"), C.List_ScriptRef);
+ t1.set$scripts(P.List_List$from(t2._as(t3 == null ? [] : t3), true, type$.legacy_ScriptRef));
+ t3 = Q.createServiceObject(json.$index(0, "variables"), C.List_FieldRef);
+ t1.set$variables(P.List_List$from(t2._as(t3 == null ? [] : t3), true, type$.legacy_FieldRef));
+ t3 = Q.createServiceObject(json.$index(0, "functions"), C.List_FuncRef);
+ t1.set$functions(P.List_List$from(t2._as(t3 == null ? [] : t3), true, type$.legacy_FuncRef));
+ t3 = Q.createServiceObject(json.$index(0, "classes"), C.List_ClassRef);
+ t1.set$classes(P.List_List$from(t2._as(t3 == null ? [] : t3), true, type$.legacy_ClassRef));
+ return t1;
+ },
+ LibraryDependency_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ if (json == null)
+ t1 = null;
+ else {
+ t1 = new Q.LibraryDependency();
+ t1.isImport = H._asBoolS(json.$index(0, "isImport"));
+ t1.isDeferred = H._asBoolS(json.$index(0, "isDeferred"));
+ t1.prefix = H._asStringS(json.$index(0, "prefix"));
+ t1.target = type$.legacy_LibraryRef._as(Q.createServiceObject(json.$index(0, "target"), C.List_LibraryRef));
+ }
+ return t1;
+ },
+ LogRecord_parse: function(json) {
+ var t1, t2;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.LogRecord(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t2 = type$.legacy_InstanceRef;
+ t1.message = t2._as(Q.createServiceObject(json.$index(0, "message"), C.List_InstanceRef));
+ t1.time = H._asIntS(json.$index(0, "time"));
+ t1.level = H._asIntS(json.$index(0, "level"));
+ t1.sequenceNumber = H._asIntS(json.$index(0, "sequenceNumber"));
+ t1.loggerName = t2._as(Q.createServiceObject(json.$index(0, "loggerName"), C.List_InstanceRef));
+ t1.zone = t2._as(Q.createServiceObject(json.$index(0, "zone"), C.List_InstanceRef));
+ t1.error = t2._as(Q.createServiceObject(json.$index(0, "error"), C.List_InstanceRef));
+ t1.stackTrace = t2._as(Q.createServiceObject(json.$index(0, "stackTrace"), C.List_InstanceRef));
+ return t1;
+ },
+ MapAssociation_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ if (json == null)
+ t1 = null;
+ else {
+ t1 = new Q.MapAssociation();
+ t1.key = Q.createServiceObject(json.$index(0, "key"), C.List_InstanceRef_Sentinel);
+ t1.value = Q.createServiceObject(json.$index(0, "value"), C.List_InstanceRef_Sentinel);
+ }
+ return t1;
+ },
+ MemoryUsage_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.MemoryUsage(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.externalUsage = H._asIntS(json.$index(0, "externalUsage"));
+ t1.heapCapacity = H._asIntS(json.$index(0, "heapCapacity"));
+ t1.heapUsage = H._asIntS(json.$index(0, "heapUsage"));
+ return t1;
+ },
+ Message_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Message(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.index = H._asIntS(json.$index(0, "index"));
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t1.messageObjectId = H._asStringS(json.$index(0, "messageObjectId"));
+ t1.size = H._asIntS(json.$index(0, "size"));
+ t1.handler = type$.legacy_FuncRef._as(Q.createServiceObject(json.$index(0, "handler"), C.List_FuncRef));
+ t1.location = type$.legacy_SourceLocation._as(Q.createServiceObject(json.$index(0, "location"), C.List_SourceLocation));
+ return t1;
+ },
+ NativeFunction_parse: function(json) {
+ var t1 = new Q.NativeFunction();
+ t1.name = H._asStringS(type$.legacy_Map_of_legacy_String_and_dynamic._as(json).$index(0, "name"));
+ return t1;
+ },
+ NullValRef_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.NullValRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.ObjRef$_fromJson$1(json);
+ t1.InstanceRef$_fromJson$1(json);
+ t1.NullValRef_valueAsString = H._asStringS(json.$index(0, "valueAsString"));
+ return t1;
+ },
+ NullVal_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.NullVal(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.Obj$_fromJson$1(json);
+ t1.Instance$_fromJson$1(json);
+ t1.NullVal_valueAsString = H._asStringS(json.$index(0, "valueAsString"));
+ return t1;
+ },
+ ObjRef_parse: function(json) {
+ var t1 = Q.ObjRef$_fromJson(type$.legacy_Map_of_legacy_String_and_dynamic._as(json));
+ return t1;
+ },
+ ObjRef$_fromJson: function(json) {
+ var t1 = new Q.ObjRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.ObjRef$_fromJson$1(json);
+ return t1;
+ },
+ Obj_parse: function(json) {
+ var t1 = Q.Obj$_fromJson(type$.legacy_Map_of_legacy_String_and_dynamic._as(json));
+ return t1;
+ },
+ Obj$_fromJson: function(json) {
+ var t1 = new Q.Obj(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.Obj$_fromJson$1(json);
+ return t1;
+ },
+ ProfileFunction_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.ProfileFunction();
+ t1.kind = H._asStringS(json.$index(0, "kind"));
+ t1.inclusiveTicks = H._asIntS(json.$index(0, "inclusiveTicks"));
+ t1.exclusiveTicks = H._asIntS(json.$index(0, "exclusiveTicks"));
+ t1.resolvedUrl = H._asStringS(json.$index(0, "resolvedUrl"));
+ t1.$function = Q.createServiceObject(json.$index(0, "function"), C.List_dynamic);
+ return t1;
+ },
+ ReloadReport_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.ReloadReport(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.success = H._asBoolS(json.$index(0, "success"));
+ return t1;
+ },
+ RetainingObject_parse: function(json) {
+ var t1, t2;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.RetainingObject();
+ t2 = type$.legacy_ObjRef;
+ t1.value = t2._as(Q.createServiceObject(json.$index(0, "value"), C.List_ObjRef));
+ t1.parentListIndex = H._asIntS(json.$index(0, "parentListIndex"));
+ t1.parentMapKey = t2._as(Q.createServiceObject(json.$index(0, "parentMapKey"), C.List_ObjRef));
+ t1.parentField = H._asStringS(json.$index(0, "parentField"));
+ return t1;
+ },
+ RetainingPath_parse: function(json) {
+ var t1, t2;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.RetainingPath(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.length = H._asIntS(json.$index(0, "length"));
+ t1.gcRootType = H._asStringS(json.$index(0, "gcRootType"));
+ t2 = Q.createServiceObject(json.$index(0, "elements"), C.List_RetainingObject);
+ if (t2 == null)
+ t2 = [];
+ t1.set$elements(P.List_List$from(type$.Iterable_dynamic._as(t2), true, type$.legacy_RetainingObject));
+ return t1;
+ },
+ Response_parse: function(json) {
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ return json == null ? null : Q.Response$_fromJson(json);
+ },
+ Response$_fromJson: function(json) {
+ var t1 = new Q.Response(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ return t1;
+ },
+ Sentinel_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Sentinel(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.kind = H._asStringS(json.$index(0, "kind"));
+ t1.valueAsString = H._asStringS(json.$index(0, "valueAsString"));
+ return t1;
+ },
+ Sentinel$_fromJson: function(json) {
+ var t1 = new Q.Sentinel(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.kind = H._asStringS(json.$index(0, "kind"));
+ t1.valueAsString = H._asStringS(json.$index(0, "valueAsString"));
+ return t1;
+ },
+ ScriptRef_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.ScriptRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.ObjRef$_fromJson$1(json);
+ t1.uri = H._asStringS(json.$index(0, "uri"));
+ return t1;
+ },
+ Script_parse: function(json) {
+ var t1 = Q.Script$_fromJson(type$.legacy_Map_of_legacy_String_and_dynamic._as(json));
+ return t1;
+ },
+ Script$_fromJson: function(json) {
+ var t1 = type$.legacy_int;
+ t1 = new Q.Script(P.LinkedHashMap_LinkedHashMap$_empty(t1, t1), P.LinkedHashMap_LinkedHashMap$_empty(t1, t1), json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.Obj$_fromJson$1(json);
+ t1.Script$_fromJson$1(json);
+ return t1;
+ },
+ ScriptList_parse: function(json) {
+ var t1, t2;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.ScriptList(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t2 = Q.createServiceObject(json.$index(0, "scripts"), C.List_ScriptRef);
+ if (t2 == null)
+ t2 = [];
+ t1.set$scripts(P.List_List$from(type$.Iterable_dynamic._as(t2), true, type$.legacy_ScriptRef));
+ return t1;
+ },
+ SourceLocation_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.SourceLocation(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.script = type$.legacy_ScriptRef._as(Q.createServiceObject(json.$index(0, "script"), C.List_ScriptRef));
+ t1.tokenPos = H._asIntS(json.$index(0, "tokenPos"));
+ t1.endTokenPos = H._asIntS(json.$index(0, "endTokenPos"));
+ return t1;
+ },
+ SourceReport_parse: function(json) {
+ var t1, t2, t3;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.SourceReport(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t2 = type$.Iterable_dynamic;
+ t1.set$ranges(P.List_List$from(t2._as(Q._createSpecificObject(json.$index(0, "ranges"), Q.vm_service_SourceReportRange_parse$closure())), true, type$.legacy_SourceReportRange));
+ t3 = Q.createServiceObject(json.$index(0, "scripts"), C.List_ScriptRef);
+ t1.set$scripts(P.List_List$from(t2._as(t3 == null ? [] : t3), true, type$.legacy_ScriptRef));
+ return t1;
+ },
+ SourceReportCoverage_parse: function(json) {
+ var t1, t2, t3;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ if (json == null)
+ t1 = null;
+ else {
+ t1 = new Q.SourceReportCoverage();
+ t2 = type$.Iterable_dynamic;
+ t3 = type$.legacy_int;
+ t1.set$hits(P.List_List$from(t2._as(json.$index(0, "hits")), true, t3));
+ t1.set$misses(P.List_List$from(t2._as(json.$index(0, "misses")), true, t3));
+ }
+ return t1;
+ },
+ SourceReportRange_parse: function(json) {
+ var t1,
+ _s19_ = "possibleBreakpoints";
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ if (json == null)
+ t1 = null;
+ else {
+ t1 = new Q.SourceReportRange();
+ t1.scriptIndex = H._asIntS(json.$index(0, "scriptIndex"));
+ t1.startPos = H._asIntS(json.$index(0, "startPos"));
+ t1.endPos = H._asIntS(json.$index(0, "endPos"));
+ t1.compiled = H._asBoolS(json.$index(0, "compiled"));
+ t1.error = type$.legacy_ErrorRef._as(Q.createServiceObject(json.$index(0, "error"), C.List_ErrorRef));
+ t1.coverage = type$.legacy_SourceReportCoverage._as(Q._createSpecificObject(json.$index(0, "coverage"), Q.vm_service_SourceReportCoverage_parse$closure()));
+ t1.set$possibleBreakpoints(json.$index(0, _s19_) == null ? null : P.List_List$from(type$.Iterable_dynamic._as(json.$index(0, _s19_)), true, type$.legacy_int));
+ }
+ return t1;
+ },
+ Stack_parse: function(json) {
+ var t1, t2, t3, t4,
+ _s17_ = "asyncCausalFrames",
+ _s13_ = "awaiterFrames";
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Stack(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t2 = Q.createServiceObject(json.$index(0, "frames"), C.List_Frame);
+ if (t2 == null)
+ t2 = [];
+ t3 = type$.Iterable_dynamic;
+ t4 = type$.legacy_Frame;
+ t1.set$frames(P.List_List$from(t3._as(t2), true, t4));
+ t1.set$asyncCausalFrames(json.$index(0, _s17_) == null ? null : P.List_List$from(t3._as(Q.createServiceObject(json.$index(0, _s17_), C.List_Frame)), true, t4));
+ t1.set$awaiterFrames(json.$index(0, _s13_) == null ? null : P.List_List$from(t3._as(Q.createServiceObject(json.$index(0, _s13_), C.List_Frame)), true, t4));
+ t2 = Q.createServiceObject(json.$index(0, "messages"), C.List_Message);
+ t1.set$messages(P.List_List$from(t3._as(t2 == null ? [] : t2), true, type$.legacy_Message));
+ return t1;
+ },
+ Success_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Success(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ return t1;
+ },
+ Timeline_parse: function(json) {
+ var t1, t2;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Timeline(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t2 = Q.createServiceObject(json.$index(0, "traceEvents"), C.List_TimelineEvent);
+ if (t2 == null)
+ t2 = [];
+ t1.set$traceEvents(P.List_List$from(type$.Iterable_dynamic._as(t2), true, type$.legacy_TimelineEvent));
+ t1.timeOriginMicros = H._asIntS(json.$index(0, "timeOriginMicros"));
+ t1.timeExtentMicros = H._asIntS(json.$index(0, "timeExtentMicros"));
+ return t1;
+ },
+ TimelineEvent_parse: function(json) {
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ return new Q.TimelineEvent(json);
+ },
+ TimelineFlags_parse: function(json) {
+ var t1, t2, t3;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.TimelineFlags(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.recorderName = H._asStringS(json.$index(0, "recorderName"));
+ t2 = type$.Iterable_dynamic;
+ t3 = type$.legacy_String;
+ t1.set$availableStreams(P.List_List$from(t2._as(json.$index(0, "availableStreams")), true, t3));
+ t1.set$recordedStreams(P.List_List$from(t2._as(json.$index(0, "recordedStreams")), true, t3));
+ return t1;
+ },
+ Timestamp_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Timestamp(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.timestamp = H._asIntS(json.$index(0, "timestamp"));
+ return t1;
+ },
+ TypeArgumentsRef_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.TypeArgumentsRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.ObjRef$_fromJson$1(json);
+ t1.name = H._asStringS(json.$index(0, "name"));
+ return t1;
+ },
+ TypeArguments_parse: function(json) {
+ var t1, t2;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.TypeArguments(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.Obj$_fromJson$1(json);
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t2 = Q.createServiceObject(json.$index(0, "types"), C.List_InstanceRef);
+ if (t2 == null)
+ t2 = [];
+ t1.set$types(P.List_List$from(type$.Iterable_dynamic._as(t2), true, type$.legacy_InstanceRef));
+ return t1;
+ },
+ UnresolvedSourceLocation_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.UnresolvedSourceLocation(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.script = type$.legacy_ScriptRef._as(Q.createServiceObject(json.$index(0, "script"), C.List_ScriptRef));
+ t1.scriptUri = H._asStringS(json.$index(0, "scriptUri"));
+ t1.tokenPos = H._asIntS(json.$index(0, "tokenPos"));
+ t1.line = H._asIntS(json.$index(0, "line"));
+ t1.column = H._asIntS(json.$index(0, "column"));
+ return t1;
+ },
+ Version_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.Version(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.major = H._asIntS(json.$index(0, "major"));
+ t1.minor = H._asIntS(json.$index(0, "minor"));
+ return t1;
+ },
+ VMRef_parse: function(json) {
+ var t1;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.VMRef(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.name = H._asStringS(json.$index(0, "name"));
+ return t1;
+ },
+ VM_parse: function(json) {
+ var t1, t2, t3;
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(json);
+ t1 = new Q.VM(json);
+ t1.type = H._asStringS(json.$index(0, "type"));
+ t1.name = H._asStringS(json.$index(0, "name"));
+ t1.architectureBits = H._asIntS(json.$index(0, "architectureBits"));
+ t1.hostCPU = H._asStringS(json.$index(0, "hostCPU"));
+ t1.operatingSystem = H._asStringS(json.$index(0, "operatingSystem"));
+ t1.targetCPU = H._asStringS(json.$index(0, "targetCPU"));
+ t1.version = H._asStringS(json.$index(0, "version"));
+ t1.pid = H._asIntS(json.$index(0, "pid"));
+ t1.startTime = H._asIntS(json.$index(0, "startTime"));
+ t2 = Q.createServiceObject(json.$index(0, "isolates"), C.List_IsolateRef);
+ if (t2 == null)
+ t2 = [];
+ t3 = type$.Iterable_dynamic;
+ t1.set$isolates(P.List_List$from(t3._as(t2), true, type$.legacy_IsolateRef));
+ t2 = Q.createServiceObject(json.$index(0, "isolateGroups"), C.List_IsolateGroupRef);
+ t1.set$isolateGroups(P.List_List$from(t3._as(t2 == null ? [] : t2), true, type$.legacy_IsolateGroupRef));
+ return t1;
+ },
+ createServiceObject_closure: function createServiceObject_closure(t0) {
+ this.expectedTypes = t0;
+ },
+ _createSpecificObject_closure: function _createSpecificObject_closure(t0) {
+ this.creator = t0;
+ },
+ VmService: function VmService(t0, t1, t2, t3, t4, t5, t6) {
+ var _ = this;
+ _._writeMessage = null;
+ _._id = 0;
+ _._completers = t0;
+ _._methodCalls = t1;
+ _._services = t2;
+ _._log = null;
+ _._onSend = t3;
+ _._onReceive = t4;
+ _._onDoneCompleter = t5;
+ _._eventControllers = t6;
+ },
+ VmService_closure: function VmService_closure(t0) {
+ this.$this = t0;
+ },
+ RPCError: function RPCError(t0, t1, t2, t3) {
+ var _ = this;
+ _.callingMethod = t0;
+ _.code = t1;
+ _.message = t2;
+ _.data = t3;
+ },
+ SentinelException: function SentinelException(t0, t1) {
+ this.callingMethod = t0;
+ this.sentinel = t1;
+ },
+ ExtensionData: function ExtensionData(t0) {
+ this.data = t0;
+ },
+ _NullLog: function _NullLog() {
+ },
+ AllocationProfile: function AllocationProfile(t0) {
+ var _ = this;
+ _.dateLastServiceGC = _.dateLastAccumulatorReset = _.memoryUsage = _.members = null;
+ _.json = t0;
+ _.type = null;
+ },
+ AllocationProfile_toJson_closure: function AllocationProfile_toJson_closure() {
+ },
+ BoundField: function BoundField() {
+ this.value = this.decl = null;
+ },
+ BoundVariable: function BoundVariable(t0) {
+ var _ = this;
+ _.scopeEndTokenPos = _.scopeStartTokenPos = _.declarationTokenPos = _.value = _.name = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Breakpoint: function Breakpoint(t0) {
+ var _ = this;
+ _.size = _.classRef = _.fixedId = _.id = _.location = _.isSyntheticAsyncContinuation = _.resolved = _.breakpointNumber = null;
+ _.json = t0;
+ _.type = null;
+ },
+ ClassRef: function ClassRef(t0) {
+ var _ = this;
+ _.fixedId = _.id = _.name = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Class: function Class(t0) {
+ var _ = this;
+ _.size = _.classRef = _.fixedId = _.id = _.subclasses = _.functions = _.fields = _.mixin = _.interfaces = _.superType = _.superClass = _.location = _.library = _.isConst = _.isAbstract = _.error = _.name = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Class_toJson_closure: function Class_toJson_closure() {
+ },
+ Class_toJson_closure0: function Class_toJson_closure0() {
+ },
+ Class_toJson_closure1: function Class_toJson_closure1() {
+ },
+ Class_toJson_closure2: function Class_toJson_closure2() {
+ },
+ ClassHeapStats: function ClassHeapStats(t0) {
+ var _ = this;
+ _.instancesCurrent = _.instancesAccumulated = _.bytesCurrent = _.accumulatedSize = _.classRef = null;
+ _.json = t0;
+ _.type = null;
+ },
+ ClassList: function ClassList(t0) {
+ this.classes = null;
+ this.json = t0;
+ this.type = null;
+ },
+ ClassList_toJson_closure: function ClassList_toJson_closure() {
+ },
+ ClientName: function ClientName(t0) {
+ this.name = null;
+ this.json = t0;
+ this.type = null;
+ },
+ CodeRef: function CodeRef(t0) {
+ var _ = this;
+ _.fixedId = _.id = _.kind = _.name = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Code: function Code(t0) {
+ var _ = this;
+ _.fixedId = _.id = _.kind = _.name = null;
+ _.json = t0;
+ _.type = null;
+ },
+ ContextRef: function ContextRef(t0) {
+ var _ = this;
+ _.fixedId = _.id = _.length = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Context: function Context(t0) {
+ var _ = this;
+ _.size = _.classRef = _.fixedId = _.id = _.variables = _.parent = _.length = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Context_toJson_closure: function Context_toJson_closure() {
+ },
+ ContextElement: function ContextElement() {
+ this.value = null;
+ },
+ CpuSamples: function CpuSamples(t0) {
+ var _ = this;
+ _.samples = _.functions = _.pid = _.timeExtentMicros = _.timeOriginMicros = _.timeSpan = _.sampleCount = _.maxStackDepth = _.samplePeriod = null;
+ _.json = t0;
+ _.type = null;
+ },
+ CpuSamples_toJson_closure: function CpuSamples_toJson_closure() {
+ },
+ CpuSamples_toJson_closure0: function CpuSamples_toJson_closure0() {
+ },
+ CpuSample: function CpuSample() {
+ var _ = this;
+ _.stack = _.truncated = _.userTag = _.vmTag = _.timestamp = _.tid = null;
+ },
+ CpuSample_toJson_closure: function CpuSample_toJson_closure() {
+ },
+ ErrorRef: function ErrorRef(t0) {
+ var _ = this;
+ _.fixedId = _.id = _.message = _.kind = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Error: function Error(t0) {
+ var _ = this;
+ _.size = _.classRef = _.fixedId = _.id = _.stacktrace = _.exception = _.message = _.kind = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Event: function Event(t0) {
+ var _ = this;
+ _.data = _.last = _.newValue = _.flag = _.alias = _.method = _.service = _.logRecord = _.status = _.atAsyncSuspension = _.updatedStreams = _.timelineEvents = _.extensionData = _.extensionKind = _.extensionRPC = _.inspectee = _.bytes = _.exception = _.topFrame = _.pauseBreakpoints = _.breakpoint = _.timestamp = _.vm = _.isolate = _.kind = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Event_toJson_closure: function Event_toJson_closure() {
+ },
+ Event_toJson_closure0: function Event_toJson_closure0() {
+ },
+ Event_toJson_closure1: function Event_toJson_closure1() {
+ },
+ FieldRef: function FieldRef(t0) {
+ var _ = this;
+ _.fixedId = _.id = _.isStatic = _.isFinal = _.isConst = _.declaredType = _.owner = _.name = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Field: function Field(t0) {
+ var _ = this;
+ _.size = _.classRef = _.fixedId = _.id = _.location = _.staticValue = _.isStatic = _.isFinal = _.isConst = _.declaredType = _.owner = _.name = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Flag: function Flag() {
+ var _ = this;
+ _.valueAsString = _.modified = _.comment = _.name = null;
+ },
+ FlagList: function FlagList(t0) {
+ this.flags = null;
+ this.json = t0;
+ this.type = null;
+ },
+ FlagList_toJson_closure: function FlagList_toJson_closure() {
+ },
+ Frame: function Frame(t0) {
+ var _ = this;
+ _.kind = _.vars = _.location = _.code = _.$function = _.index = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Frame_toJson_closure: function Frame_toJson_closure() {
+ },
+ FuncRef: function FuncRef(t0) {
+ var _ = this;
+ _.fixedId = _.id = _.isConst = _.isStatic = _.owner = _.name = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Func: function Func(t0) {
+ var _ = this;
+ _.size = _.classRef = _.fixedId = _.id = _.code = _.location = _.isConst = _.isStatic = _.owner = _.name = null;
+ _.json = t0;
+ _.type = null;
+ },
+ InstanceRef: function InstanceRef(t0) {
+ var _ = this;
+ _.fixedId = _.id = _.closureContext = _.closureFunction = _.pattern = _.parameterizedClass = _.typeClass = _.name = _.length = _.valueAsStringIsTruncated = _.valueAsString = _.classRef = _.kind = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Instance: function Instance(t0) {
+ var _ = this;
+ _.size = _.classRef = _.fixedId = _.id = _.bound = _.targetType = _.parameterIndex = _.typeArguments = _.propertyValue = _.propertyKey = _.isMultiLine = _.isCaseSensitive = _.closureContext = _.closureFunction = _.pattern = _.mirrorReferent = _.bytes = _.associations = _.elements = _.fields = _.parameterizedClass = _.typeClass = _.name = _.count = _.offset = _.length = _.valueAsStringIsTruncated = _.valueAsString = _.Instance_classRef = _.kind = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Instance_toJson_closure: function Instance_toJson_closure() {
+ },
+ Instance_toJson_closure0: function Instance_toJson_closure0() {
+ },
+ Instance_toJson_closure1: function Instance_toJson_closure1() {
+ },
+ IsolateRef: function IsolateRef(t0) {
+ var _ = this;
+ _.name = _.number = _.id = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Isolate: function Isolate(t0) {
+ var _ = this;
+ _.extensionRPCs = _.exceptionPauseMode = _.error = _.breakpoints = _.libraries = _.rootLib = _.pauseEvent = _.pauseOnExit = _.livePorts = _.runnable = _.startTime = _.name = _.number = _.id = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Isolate_toJson_closure: function Isolate_toJson_closure() {
+ },
+ Isolate_toJson_closure0: function Isolate_toJson_closure0() {
+ },
+ Isolate_toJson_closure1: function Isolate_toJson_closure1() {
+ },
+ IsolateGroupRef: function IsolateGroupRef(t0) {
+ var _ = this;
+ _.name = _.number = _.id = null;
+ _.json = t0;
+ _.type = null;
+ },
+ IsolateGroup: function IsolateGroup(t0) {
+ var _ = this;
+ _.isolates = _.name = _.number = _.id = null;
+ _.json = t0;
+ _.type = null;
+ },
+ IsolateGroup_toJson_closure: function IsolateGroup_toJson_closure() {
+ },
+ InboundReferences: function InboundReferences(t0) {
+ this.references = null;
+ this.json = t0;
+ this.type = null;
+ },
+ InboundReferences_toJson_closure: function InboundReferences_toJson_closure() {
+ },
+ InboundReference: function InboundReference() {
+ this.parentField = this.parentListIndex = this.source = null;
+ },
+ InstanceSet: function InstanceSet(t0) {
+ var _ = this;
+ _.instances = _.totalCount = null;
+ _.json = t0;
+ _.type = null;
+ },
+ InstanceSet_toJson_closure: function InstanceSet_toJson_closure() {
+ },
+ LibraryRef: function LibraryRef(t0) {
+ var _ = this;
+ _.fixedId = _.id = _.uri = _.name = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Library: function Library(t0) {
+ var _ = this;
+ _.size = _.classRef = _.fixedId = _.id = _.classes = _.functions = _.variables = _.scripts = _.dependencies = _.debuggable = _.uri = _.name = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Library_toJson_closure: function Library_toJson_closure() {
+ },
+ Library_toJson_closure0: function Library_toJson_closure0() {
+ },
+ Library_toJson_closure1: function Library_toJson_closure1() {
+ },
+ Library_toJson_closure2: function Library_toJson_closure2() {
+ },
+ Library_toJson_closure3: function Library_toJson_closure3() {
+ },
+ LibraryDependency: function LibraryDependency() {
+ var _ = this;
+ _.target = _.prefix = _.isDeferred = _.isImport = null;
+ },
+ LogRecord: function LogRecord(t0) {
+ var _ = this;
+ _.stackTrace = _.error = _.zone = _.loggerName = _.sequenceNumber = _.level = _.time = _.message = null;
+ _.json = t0;
+ _.type = null;
+ },
+ MapAssociation: function MapAssociation() {
+ this.value = this.key = null;
+ },
+ MemoryUsage: function MemoryUsage(t0) {
+ var _ = this;
+ _.heapUsage = _.heapCapacity = _.externalUsage = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Message: function Message(t0) {
+ var _ = this;
+ _.location = _.handler = _.size = _.messageObjectId = _.name = _.index = null;
+ _.json = t0;
+ _.type = null;
+ },
+ NativeFunction: function NativeFunction() {
+ this.name = null;
+ },
+ NullValRef: function NullValRef(t0) {
+ var _ = this;
+ _.fixedId = _.id = _.closureContext = _.closureFunction = _.pattern = _.parameterizedClass = _.typeClass = _.name = _.length = _.valueAsStringIsTruncated = _.valueAsString = _.classRef = _.kind = _.NullValRef_valueAsString = null;
+ _.json = t0;
+ _.type = null;
+ },
+ NullVal: function NullVal(t0) {
+ var _ = this;
+ _.classRef = _.fixedId = _.id = _.bound = _.targetType = _.parameterIndex = _.typeArguments = _.propertyValue = _.propertyKey = _.isMultiLine = _.isCaseSensitive = _.closureContext = _.closureFunction = _.pattern = _.mirrorReferent = _.bytes = _.associations = _.elements = _.fields = _.parameterizedClass = _.typeClass = _.name = _.count = _.offset = _.length = _.valueAsStringIsTruncated = _.valueAsString = _.Instance_classRef = _.kind = _.NullVal_valueAsString = null;
+ _.size = null;
+ _.json = t0;
+ _.type = null;
+ },
+ ObjRef: function ObjRef(t0) {
+ var _ = this;
+ _.fixedId = _.id = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Obj: function Obj(t0) {
+ var _ = this;
+ _.size = _.classRef = _.fixedId = _.id = null;
+ _.json = t0;
+ _.type = null;
+ },
+ ProfileFunction: function ProfileFunction() {
+ var _ = this;
+ _.$function = _.resolvedUrl = _.exclusiveTicks = _.inclusiveTicks = _.kind = null;
+ },
+ ReloadReport: function ReloadReport(t0) {
+ this.success = null;
+ this.json = t0;
+ this.type = null;
+ },
+ RetainingObject: function RetainingObject() {
+ var _ = this;
+ _.parentField = _.parentMapKey = _.parentListIndex = _.value = null;
+ },
+ RetainingPath: function RetainingPath(t0) {
+ var _ = this;
+ _.elements = _.gcRootType = _.length = null;
+ _.json = t0;
+ _.type = null;
+ },
+ RetainingPath_toJson_closure: function RetainingPath_toJson_closure() {
+ },
+ Response: function Response(t0) {
+ this.json = t0;
+ this.type = null;
+ },
+ Sentinel: function Sentinel(t0) {
+ var _ = this;
+ _.valueAsString = _.kind = null;
+ _.json = t0;
+ _.type = null;
+ },
+ ScriptRef: function ScriptRef(t0) {
+ var _ = this;
+ _.fixedId = _.id = _.uri = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Script: function Script(t0, t1, t2) {
+ var _ = this;
+ _._tokenToLine = t0;
+ _._tokenToColumn = t1;
+ _.size = _.classRef = _.fixedId = _.id = _.tokenPosTable = _.source = _.columnOffset = _.lineOffset = _.library = _.uri = null;
+ _.json = t2;
+ _.type = null;
+ },
+ Script$_fromJson_closure: function Script$_fromJson_closure() {
+ },
+ Script_toJson_closure: function Script_toJson_closure() {
+ },
+ ScriptList: function ScriptList(t0) {
+ this.scripts = null;
+ this.json = t0;
+ this.type = null;
+ },
+ ScriptList_toJson_closure: function ScriptList_toJson_closure() {
+ },
+ SourceLocation: function SourceLocation(t0) {
+ var _ = this;
+ _.endTokenPos = _.tokenPos = _.script = null;
+ _.json = t0;
+ _.type = null;
+ },
+ SourceReport: function SourceReport(t0) {
+ var _ = this;
+ _.scripts = _.ranges = null;
+ _.json = t0;
+ _.type = null;
+ },
+ SourceReport_toJson_closure: function SourceReport_toJson_closure() {
+ },
+ SourceReport_toJson_closure0: function SourceReport_toJson_closure0() {
+ },
+ SourceReportCoverage: function SourceReportCoverage() {
+ this.misses = this.hits = null;
+ },
+ SourceReportCoverage_toJson_closure: function SourceReportCoverage_toJson_closure() {
+ },
+ SourceReportCoverage_toJson_closure0: function SourceReportCoverage_toJson_closure0() {
+ },
+ SourceReportRange: function SourceReportRange() {
+ var _ = this;
+ _.possibleBreakpoints = _.coverage = _.error = _.compiled = _.endPos = _.startPos = _.scriptIndex = null;
+ },
+ SourceReportRange_toJson_closure: function SourceReportRange_toJson_closure() {
+ },
+ Stack: function Stack(t0) {
+ var _ = this;
+ _.messages = _.awaiterFrames = _.asyncCausalFrames = _.frames = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Stack_toJson_closure: function Stack_toJson_closure() {
+ },
+ Stack_toJson_closure0: function Stack_toJson_closure0() {
+ },
+ Stack_toJson_closure1: function Stack_toJson_closure1() {
+ },
+ Stack_toJson_closure2: function Stack_toJson_closure2() {
+ },
+ Success: function Success(t0) {
+ this.json = t0;
+ this.type = null;
+ },
+ Timeline: function Timeline(t0) {
+ var _ = this;
+ _.timeExtentMicros = _.timeOriginMicros = _.traceEvents = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Timeline_toJson_closure: function Timeline_toJson_closure() {
+ },
+ TimelineEvent: function TimelineEvent(t0) {
+ this.json = t0;
+ },
+ TimelineFlags: function TimelineFlags(t0) {
+ var _ = this;
+ _.recordedStreams = _.availableStreams = _.recorderName = null;
+ _.json = t0;
+ _.type = null;
+ },
+ TimelineFlags_toJson_closure: function TimelineFlags_toJson_closure() {
+ },
+ TimelineFlags_toJson_closure0: function TimelineFlags_toJson_closure0() {
+ },
+ Timestamp: function Timestamp(t0) {
+ this.timestamp = null;
+ this.json = t0;
+ this.type = null;
+ },
+ TypeArgumentsRef: function TypeArgumentsRef(t0) {
+ var _ = this;
+ _.fixedId = _.id = _.name = null;
+ _.json = t0;
+ _.type = null;
+ },
+ TypeArguments: function TypeArguments(t0) {
+ var _ = this;
+ _.size = _.classRef = _.fixedId = _.id = _.types = _.name = null;
+ _.json = t0;
+ _.type = null;
+ },
+ TypeArguments_toJson_closure: function TypeArguments_toJson_closure() {
+ },
+ UnresolvedSourceLocation: function UnresolvedSourceLocation(t0) {
+ var _ = this;
+ _.column = _.line = _.tokenPos = _.scriptUri = _.script = null;
+ _.json = t0;
+ _.type = null;
+ },
+ Version: function Version(t0) {
+ var _ = this;
+ _.minor = _.major = null;
+ _.json = t0;
+ _.type = null;
+ },
+ VMRef: function VMRef(t0) {
+ this.name = null;
+ this.json = t0;
+ this.type = null;
+ },
+ VM: function VM(t0) {
+ var _ = this;
+ _.isolateGroups = _.isolates = _.startTime = _.pid = _.version = _.targetCPU = _.operatingSystem = _.hostCPU = _.architectureBits = _.name = null;
+ _.json = t0;
+ _.type = null;
+ },
+ VM_toJson_closure: function VM_toJson_closure() {
+ },
+ VM_toJson_closure0: function VM_toJson_closure0() {
+ }
+ },
+ N = {HexCodec: function HexCodec() {
+ }},
+ R = {
+ _convert: function(bytes, start, end) {
+ var t1, t2, i, bufferIndex, byteOr, byte, bufferIndex0, t3,
+ buffer = new Uint8Array((end - start) * 2);
+ for (t1 = buffer.length, t2 = bytes.length, i = start, bufferIndex = 0, byteOr = 0; i < end; ++i) {
+ if (i >= t2)
+ return H.ioore(bytes, i);
+ byte = bytes[i];
+ if (typeof byte !== "number")
+ return H.iae(byte);
+ byteOr = (byteOr | byte) >>> 0;
+ bufferIndex0 = bufferIndex + 1;
+ t3 = (byte & 240) >>> 4;
+ t3 = t3 < 10 ? t3 + 48 : t3 + 97 - 10;
+ if (bufferIndex >= t1)
+ return H.ioore(buffer, bufferIndex);
+ buffer[bufferIndex] = t3;
+ bufferIndex = bufferIndex0 + 1;
+ t3 = byte & 15;
+ t3 = t3 < 10 ? t3 + 48 : t3 + 97 - 10;
+ if (bufferIndex0 >= t1)
+ return H.ioore(buffer, bufferIndex0);
+ buffer[bufferIndex0] = t3;
+ }
+ if (byteOr >= 0 && byteOr <= 255)
+ return P.String_String$fromCharCodes(buffer, 0, null);
+ for (i = start; i < end; ++i) {
+ if (i >= t2)
+ return H.ioore(bytes, i);
+ byte = bytes[i];
+ if (typeof byte !== "number")
+ return byte.$ge();
+ if (byte >= 0 && byte <= 255)
+ continue;
+ throw H.wrapException(P.FormatException$("Invalid byte " + (byte < 0 ? "-" : "") + "0x" + C.JSInt_methods.toRadixString$1(Math.abs(byte), 16) + ".", bytes, i));
+ }
+ throw H.wrapException("unreachable");
+ },
+ HexEncoder: function HexEncoder() {
+ },
+ StreamChannelMixin: function StreamChannelMixin() {
+ }
+ },
+ Y = {Level: function Level(t0, t1) {
+ this.name = t0;
+ this.value = t1;
+ }},
+ L = {LogRecord0: function LogRecord0(t0, t1, t2) {
+ this.level = t0;
+ this.message = t1;
+ this.loggerName = t2;
+ }},
+ M = {
+ SseClient$: function(serverUrl) {
+ var t1 = type$.legacy_String;
+ t1 = new M.SseClient(P.StreamController_StreamController(t1), P.StreamController_StreamController(t1), F.Logger_Logger("SseClient"), P.StreamController_StreamController(type$.dynamic));
+ t1.SseClient$1(serverUrl);
+ return t1;
+ },
+ SseClient: function SseClient(t0, t1, t2, t3) {
+ var _ = this;
+ _._incomingController = t0;
+ _._outgoingController = t1;
+ _._logger = t2;
+ _._errorTimer = _._serverUrl = _._eventSource = null;
+ _._messages = t3;
+ },
+ SseClient_closure: function SseClient_closure(t0) {
+ this.$this = t0;
+ },
+ SseClient_closure0: function SseClient_closure0(t0) {
+ this.$this = t0;
+ },
+ SseClient__closure: function SseClient__closure(t0, t1) {
+ this.$this = t0;
+ this.error = t1;
+ }
+ },
+ K = {
+ Uuid$: function() {
+ var options, t2, t1 = {};
+ t1.options = options;
+ t1.options = null;
+ t2 = new K.Uuid();
+ t2.Uuid$1$options(t1);
+ return t2;
+ },
+ Uuid: function Uuid() {
+ var _ = this;
+ _._clockSeq = _._nodeId = _._seedBytes = null;
+ _._lastNSecs = _._lastMSecs = 0;
+ _._hexToByte = _._byteToHex = null;
+ }
+ },
+ T = {
+ UuidUtil_mathRNG: function() {
+ var b, rand, i,
+ t1 = new Array(16);
+ t1.fixed$length = Array;
+ b = H.setRuntimeTypeInfo(t1, type$.JSArray_legacy_int);
+ for (rand = null, i = 0; i < 16; ++i) {
+ t1 = i & 3;
+ if (t1 === 0)
+ rand = C.JSInt_methods.toInt$0(C.JSNumber_methods.floor$0(C.C__JSRandom.nextDouble$0() * 4294967296));
+ if (typeof rand !== "number")
+ return rand.$shr();
+ C.JSArray_methods.$indexSet(b, i, C.JSInt_methods._shrOtherPositive$1(rand, t1 << 3) & 255);
+ }
+ return b;
+ }
+ };
+ var holders = [C, H, J, P, W, V, E, F, G, Q, N, R, Y, L, M, K, T];
+ hunkHelpers.setFunctionNamesIfNecessary(holders);
+ var $ = {};
+ H.JS_CONST.prototype = {};
+ J.Interceptor.prototype = {
+ $eq: function(receiver, other) {
+ return receiver === other;
+ },
+ get$hashCode: function(receiver) {
+ return H.Primitives_objectHashCode(receiver);
+ },
+ toString$0: function(receiver) {
+ return "Instance of '" + H.S(H.Primitives_objectTypeName(receiver)) + "'";
+ },
+ noSuchMethod$1: function(receiver, invocation) {
+ type$.Invocation._as(invocation);
+ throw H.wrapException(P.NoSuchMethodError$(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()));
+ },
+ get$runtimeType: function(receiver) {
+ return H.getRuntimeType(receiver);
+ }
+ };
+ J.JSBool.prototype = {
+ toString$0: function(receiver) {
+ return String(receiver);
+ },
+ $and: function(receiver, other) {
+ return H.checkBool(H._asBoolS(other)) && receiver;
+ },
+ $or: function(receiver, other) {
+ return H.checkBool(H._asBoolS(other)) || receiver;
+ },
+ get$hashCode: function(receiver) {
+ return receiver ? 519018 : 218159;
+ },
+ get$runtimeType: function(receiver) {
+ return C.Type_bool_lhE;
+ },
+ $isbool: 1
+ };
+ J.JSNull.prototype = {
+ $eq: function(receiver, other) {
+ return null == other;
+ },
+ toString$0: function(receiver) {
+ return "null";
+ },
+ get$hashCode: function(receiver) {
+ return 0;
+ },
+ get$runtimeType: function(receiver) {
+ return C.Type_Null_Yyn;
+ },
+ noSuchMethod$1: function(receiver, invocation) {
+ return this.super$Interceptor$noSuchMethod(receiver, type$.Invocation._as(invocation));
+ },
+ $isNull: 1
+ };
+ J.JSObject.prototype = {};
+ J.JavaScriptObject.prototype = {
+ get$hashCode: function(receiver) {
+ return 0;
+ },
+ get$runtimeType: function(receiver) {
+ return C.Type_JSObject_8k0;
+ },
+ toString$0: function(receiver) {
+ return String(receiver);
+ }
+ };
+ J.PlainJavaScriptObject.prototype = {};
+ J.UnknownJavaScriptObject.prototype = {};
+ J.JavaScriptFunction.prototype = {
+ toString$0: function(receiver) {
+ var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()];
+ if (dartClosure == null)
+ return this.super$JavaScriptObject$toString(receiver);
+ return "JavaScript function for " + H.S(J.toString$0$(dartClosure));
+ },
+ $signature: function() {
+ return {func: 1, opt: [,,,,,,,,,,,,,,,,]};
+ },
+ $isFunction: 1
+ };
+ J.JSArray.prototype = {
+ add$1: function(receiver, value) {
+ H._arrayInstanceType(receiver)._precomputed1._as(value);
+ if (!!receiver.fixed$length)
+ H.throwExpression(P.UnsupportedError$("add"));
+ receiver.push(value);
+ },
+ addAll$1: function(receiver, collection) {
+ var t1, _i;
+ H._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(collection);
+ if (!!receiver.fixed$length)
+ H.throwExpression(P.UnsupportedError$("addAll"));
+ for (t1 = collection.length, _i = 0; _i < collection.length; collection.length === t1 || (0, H.throwConcurrentModificationError)(collection), ++_i)
+ receiver.push(collection[_i]);
+ },
+ map$1$1: function(receiver, f, $T) {
+ var t1 = H._arrayInstanceType(receiver);
+ return new H.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
+ },
+ map$1: function($receiver, f) {
+ return this.map$1$1($receiver, f, type$.dynamic);
+ },
+ elementAt$1: function(receiver, index) {
+ if (index < 0 || index >= receiver.length)
+ return H.ioore(receiver, index);
+ return receiver[index];
+ },
+ get$first: function(receiver) {
+ if (receiver.length > 0)
+ return receiver[0];
+ throw H.wrapException(H.IterableElementError_noElement());
+ },
+ setRange$4: function(receiver, start, end, iterable, skipCount) {
+ var $length, otherList, t1, i;
+ H._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(iterable);
+ if (!!receiver.immutable$list)
+ H.throwExpression(P.UnsupportedError$("setRange"));
+ P.RangeError_checkValidRange(start, end, receiver.length);
+ $length = end - start;
+ if ($length === 0)
+ return;
+ P.RangeError_checkNotNegative(skipCount, "skipCount");
+ otherList = iterable;
+ t1 = J.getInterceptor$asx(otherList);
+ if (skipCount + $length > t1.get$length(otherList))
+ throw H.wrapException(H.IterableElementError_tooFew());
+ if (skipCount < start)
+ for (i = $length - 1; i >= 0; --i)
+ receiver[start + i] = t1.$index(otherList, skipCount + i);
+ else
+ for (i = 0; i < $length; ++i)
+ receiver[start + i] = t1.$index(otherList, skipCount + i);
+ },
+ contains$1: function(receiver, other) {
+ var i;
+ for (i = 0; i < receiver.length; ++i)
+ if (J.$eq$(receiver[i], other))
+ return true;
+ return false;
+ },
+ get$isNotEmpty: function(receiver) {
+ return receiver.length !== 0;
+ },
+ toString$0: function(receiver) {
+ return P.IterableBase_iterableToFullString(receiver, "[", "]");
+ },
+ toList$1$growable: function(receiver, growable) {
+ var t1 = H.setRuntimeTypeInfo(receiver.slice(0), H._arrayInstanceType(receiver));
+ return t1;
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ get$iterator: function(receiver) {
+ return new J.ArrayIterator(receiver, receiver.length, H._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>"));
+ },
+ get$hashCode: function(receiver) {
+ return H.Primitives_objectHashCode(receiver);
+ },
+ get$length: function(receiver) {
+ return receiver.length;
+ },
+ set$length: function(receiver, newLength) {
+ if (!!receiver.fixed$length)
+ H.throwExpression(P.UnsupportedError$("set length"));
+ receiver.length = newLength;
+ },
+ $index: function(receiver, index) {
+ H._asIntS(index);
+ if (!H._isInt(index))
+ throw H.wrapException(H.diagnoseIndexError(receiver, index));
+ if (index >= receiver.length || index < 0)
+ throw H.wrapException(H.diagnoseIndexError(receiver, index));
+ return receiver[index];
+ },
+ $indexSet: function(receiver, index, value) {
+ H._asIntS(index);
+ H._arrayInstanceType(receiver)._precomputed1._as(value);
+ if (!!receiver.immutable$list)
+ H.throwExpression(P.UnsupportedError$("indexed set"));
+ if (!H._isInt(index))
+ throw H.wrapException(H.diagnoseIndexError(receiver, index));
+ if (index >= receiver.length || index < 0)
+ throw H.wrapException(H.diagnoseIndexError(receiver, index));
+ receiver[index] = value;
+ },
+ $add: function(receiver, other) {
+ var t2, _i,
+ t1 = H._arrayInstanceType(receiver);
+ t1._eval$1("List<1>")._as(other);
+ t1 = H.setRuntimeTypeInfo([], t1);
+ for (t2 = receiver.length, _i = 0; _i < receiver.length; receiver.length === t2 || (0, H.throwConcurrentModificationError)(receiver), ++_i)
+ this.add$1(t1, receiver[_i]);
+ for (t2 = other.get$iterator(other); t2.moveNext$0();)
+ this.add$1(t1, t2.get$current());
+ return t1;
+ },
+ $isJSIndexable: 1,
+ $isEfficientLengthIterable: 1,
+ $isIterable: 1,
+ $isList: 1
+ };
+ J.JSUnmodifiableArray.prototype = {};
+ J.ArrayIterator.prototype = {
+ get$current: function() {
+ return this.__interceptors$_current;
+ },
+ moveNext$0: function() {
+ var t2, _this = this,
+ t1 = _this.__interceptors$_iterable,
+ $length = t1.length;
+ if (_this.__interceptors$_length !== $length)
+ throw H.wrapException(H.throwConcurrentModificationError(t1));
+ t2 = _this.__interceptors$_index;
+ if (t2 >= $length) {
+ _this.set$__interceptors$_current(null);
+ return false;
+ }
+ _this.set$__interceptors$_current(t1[t2]);
+ ++_this.__interceptors$_index;
+ return true;
+ },
+ set$__interceptors$_current: function(_current) {
+ this.__interceptors$_current = this.$ti._eval$1("1?")._as(_current);
+ },
+ $isIterator: 1
+ };
+ J.JSNumber.prototype = {
+ toInt$0: function(receiver) {
+ var t1;
+ if (receiver >= -2147483648 && receiver <= 2147483647)
+ return receiver | 0;
+ if (isFinite(receiver)) {
+ t1 = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver);
+ return t1 + 0;
+ }
+ throw H.wrapException(P.UnsupportedError$("" + receiver + ".toInt()"));
+ },
+ floor$0: function(receiver) {
+ var truncated, d;
+ if (receiver >= 0) {
+ if (receiver <= 2147483647)
+ return receiver | 0;
+ } else if (receiver >= -2147483648) {
+ truncated = receiver | 0;
+ return receiver === truncated ? truncated : truncated - 1;
+ }
+ d = Math.floor(receiver);
+ if (isFinite(d))
+ return d;
+ throw H.wrapException(P.UnsupportedError$("" + receiver + ".floor()"));
+ },
+ toRadixString$1: function(receiver, radix) {
+ var result, match, t1, exponent;
+ if (radix < 2 || radix > 36)
+ throw H.wrapException(P.RangeError$range(radix, 2, 36, "radix", null));
+ result = receiver.toString(radix);
+ if (C.JSString_methods.codeUnitAt$1(result, result.length - 1) !== 41)
+ return result;
+ match = /^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(result);
+ if (match == null)
+ H.throwExpression(P.UnsupportedError$("Unexpected toString result: " + result));
+ t1 = match.length;
+ if (1 >= t1)
+ return H.ioore(match, 1);
+ result = match[1];
+ if (3 >= t1)
+ return H.ioore(match, 3);
+ exponent = +match[3];
+ t1 = match[2];
+ if (t1 != null) {
+ result += t1;
+ exponent -= t1.length;
+ }
+ return result + C.JSString_methods.$mul("0", exponent);
+ },
+ toString$0: function(receiver) {
+ if (receiver === 0 && 1 / receiver < 0)
+ return "-0.0";
+ else
+ return "" + receiver;
+ },
+ get$hashCode: function(receiver) {
+ var absolute, floorLog2, factor, scaled,
+ intValue = receiver | 0;
+ if (receiver === intValue)
+ return 536870911 & intValue;
+ absolute = Math.abs(receiver);
+ floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0;
+ factor = Math.pow(2, floorLog2);
+ scaled = absolute < 1 ? absolute / factor : factor / absolute;
+ return 536870911 & ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259;
+ },
+ $add: function(receiver, other) {
+ H._asNumS(other);
+ return receiver + other;
+ },
+ $sub: function(receiver, other) {
+ return receiver - other;
+ },
+ $div: function(receiver, other) {
+ return receiver / other;
+ },
+ $mod: function(receiver, other) {
+ var result = receiver % other;
+ if (result === 0)
+ return 0;
+ if (result > 0)
+ return result;
+ if (other < 0)
+ return result - other;
+ else
+ return result + other;
+ },
+ _tdivFast$1: function(receiver, other) {
+ return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other);
+ },
+ _tdivSlow$1: function(receiver, other) {
+ var quotient = receiver / other;
+ if (quotient >= -2147483648 && quotient <= 2147483647)
+ return quotient | 0;
+ if (quotient > 0) {
+ if (quotient !== 1 / 0)
+ return Math.floor(quotient);
+ } else if (quotient > -1 / 0)
+ return Math.ceil(quotient);
+ throw H.wrapException(P.UnsupportedError$("Result of truncating division is " + H.S(quotient) + ": " + H.S(receiver) + " ~/ " + other));
+ },
+ $shl: function(receiver, other) {
+ if (other < 0)
+ throw H.wrapException(H.argumentErrorValue(other));
+ return other > 31 ? 0 : receiver << other >>> 0;
+ },
+ $shr: function(receiver, other) {
+ var t1;
+ if (other < 0)
+ throw H.wrapException(H.argumentErrorValue(other));
+ if (receiver > 0)
+ t1 = this._shrBothPositive$1(receiver, other);
+ else {
+ t1 = other > 31 ? 31 : other;
+ t1 = receiver >> t1 >>> 0;
+ }
+ return t1;
+ },
+ _shrOtherPositive$1: function(receiver, other) {
+ var t1;
+ if (receiver > 0)
+ t1 = this._shrBothPositive$1(receiver, other);
+ else {
+ t1 = other > 31 ? 31 : other;
+ t1 = receiver >> t1 >>> 0;
+ }
+ return t1;
+ },
+ _shrBothPositive$1: function(receiver, other) {
+ return other > 31 ? 0 : receiver >>> other;
+ },
+ $and: function(receiver, other) {
+ return (receiver & other) >>> 0;
+ },
+ $or: function(receiver, other) {
+ H._asNumS(other);
+ if (typeof other != "number")
+ throw H.wrapException(H.argumentErrorValue(other));
+ return (receiver | other) >>> 0;
+ },
+ $lt: function(receiver, other) {
+ return receiver < other;
+ },
+ $gt: function(receiver, other) {
+ return receiver > other;
+ },
+ $ge: function(receiver, other) {
+ if (typeof other != "number")
+ throw H.wrapException(H.argumentErrorValue(other));
+ return receiver >= other;
+ },
+ get$runtimeType: function(receiver) {
+ return C.Type_num_cv7;
+ },
+ $isdouble: 1,
+ $isnum: 1
+ };
+ J.JSInt.prototype = {
+ get$runtimeType: function(receiver) {
+ return C.Type_int_tHn;
+ },
+ $isint: 1
+ };
+ J.JSDouble.prototype = {
+ get$runtimeType: function(receiver) {
+ return C.Type_double_K1J;
+ }
+ };
+ J.JSString.prototype = {
+ codeUnitAt$1: function(receiver, index) {
+ if (index < 0)
+ throw H.wrapException(H.diagnoseIndexError(receiver, index));
+ if (index >= receiver.length)
+ H.throwExpression(H.diagnoseIndexError(receiver, index));
+ return receiver.charCodeAt(index);
+ },
+ _codeUnitAt$1: function(receiver, index) {
+ if (index >= receiver.length)
+ throw H.wrapException(H.diagnoseIndexError(receiver, index));
+ return receiver.charCodeAt(index);
+ },
+ $add: function(receiver, other) {
+ H._asStringS(other);
+ if (typeof other != "string")
+ throw H.wrapException(P.ArgumentError$value(other, null, null));
+ return receiver + other;
+ },
+ startsWith$1: function(receiver, pattern) {
+ var otherLength = pattern.length;
+ if (otherLength > receiver.length)
+ return false;
+ return pattern === receiver.substring(0, otherLength);
+ },
+ substring$2: function(receiver, startIndex, endIndex) {
+ if (endIndex == null)
+ endIndex = receiver.length;
+ if (startIndex < 0)
+ throw H.wrapException(P.RangeError$value(startIndex, null));
+ if (startIndex > endIndex)
+ throw H.wrapException(P.RangeError$value(startIndex, null));
+ if (endIndex > receiver.length)
+ throw H.wrapException(P.RangeError$value(endIndex, null));
+ return receiver.substring(startIndex, endIndex);
+ },
+ substring$1: function($receiver, startIndex) {
+ return this.substring$2($receiver, startIndex, null);
+ },
+ $mul: function(receiver, times) {
+ var s, result;
+ if (0 >= times)
+ return "";
+ if (times === 1 || receiver.length === 0)
+ return receiver;
+ if (times !== times >>> 0)
+ throw H.wrapException(C.C_OutOfMemoryError);
+ for (s = receiver, result = ""; true;) {
+ if ((times & 1) === 1)
+ result = s + result;
+ times = times >>> 1;
+ if (times === 0)
+ break;
+ s += s;
+ }
+ return result;
+ },
+ lastIndexOf$1: function(receiver, pattern) {
+ var start = receiver.length,
+ t1 = pattern.length;
+ if (start + t1 > start)
+ start -= t1;
+ return receiver.lastIndexOf(pattern, start);
+ },
+ toString$0: function(receiver) {
+ return receiver;
+ },
+ get$hashCode: function(receiver) {
+ var t1, hash, i;
+ for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) {
+ hash = 536870911 & hash + receiver.charCodeAt(i);
+ hash = 536870911 & hash + ((524287 & hash) << 10);
+ hash ^= hash >> 6;
+ }
+ hash = 536870911 & hash + ((67108863 & hash) << 3);
+ hash ^= hash >> 11;
+ return 536870911 & hash + ((16383 & hash) << 15);
+ },
+ get$runtimeType: function(receiver) {
+ return C.Type_String_k8F;
+ },
+ get$length: function(receiver) {
+ return receiver.length;
+ },
+ $index: function(receiver, index) {
+ H._asIntS(index);
+ if (index >= receiver.length || false)
+ throw H.wrapException(H.diagnoseIndexError(receiver, index));
+ return receiver[index];
+ },
+ $isJSIndexable: 1,
+ $isPattern: 1,
+ $isString: 1
+ };
+ H.EfficientLengthIterable.prototype = {};
+ H.ListIterable.prototype = {
+ get$iterator: function(_) {
+ var _this = this;
+ return new H.ListIterator(_this, _this.get$length(_this), H._instanceType(_this)._eval$1("ListIterator<ListIterable.E>"));
+ },
+ get$isEmpty: function(_) {
+ return this.get$length(this) === 0;
+ },
+ map$1: function(_, f) {
+ var t1 = H._instanceType(this);
+ return new H.MappedListIterable(this, t1._eval$1("@(ListIterable.E)")._as(f), t1._eval$1("MappedListIterable<ListIterable.E,@>"));
+ }
+ };
+ H.ListIterator.prototype = {
+ get$current: function() {
+ var cur = this._current;
+ return cur;
+ },
+ moveNext$0: function() {
+ var t3, _this = this,
+ t1 = _this._iterable,
+ t2 = J.getInterceptor$asx(t1),
+ $length = t2.get$length(t1);
+ if (_this.__internal$_length !== $length)
+ throw H.wrapException(P.ConcurrentModificationError$(t1));
+ t3 = _this._index;
+ if (t3 >= $length) {
+ _this.set$_current(null);
+ return false;
+ }
+ _this.set$_current(t2.elementAt$1(t1, t3));
+ ++_this._index;
+ return true;
+ },
+ set$_current: function(_current) {
+ this._current = this.$ti._eval$1("1?")._as(_current);
+ },
+ $isIterator: 1
+ };
+ H.MappedIterable.prototype = {
+ get$iterator: function(_) {
+ var t1 = H._instanceType(this);
+ return new H.MappedIterator(J.get$iterator$ax(this._iterable), this._f, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("MappedIterator<1,2>"));
+ },
+ get$length: function(_) {
+ return J.get$length$asx(this._iterable);
+ }
+ };
+ H.EfficientLengthMappedIterable.prototype = {$isEfficientLengthIterable: 1};
+ H.MappedIterator.prototype = {
+ moveNext$0: function() {
+ var _this = this,
+ t1 = _this._iterator;
+ if (t1.moveNext$0()) {
+ _this.set$_current(_this._f.call$1(t1.get$current()));
+ return true;
+ }
+ _this.set$_current(null);
+ return false;
+ },
+ get$current: function() {
+ var cur = this._current;
+ return cur;
+ },
+ set$_current: function(_current) {
+ this._current = this.$ti._eval$1("2?")._as(_current);
+ }
+ };
+ H.MappedListIterable.prototype = {
+ get$length: function(_) {
+ return J.get$length$asx(this.__internal$_source);
+ },
+ elementAt$1: function(_, index) {
+ return this._f.call$1(J.elementAt$1$ax(this.__internal$_source, index));
+ }
+ };
+ H.FixedLengthListMixin.prototype = {};
+ H.Symbol.prototype = {
+ get$hashCode: function(_) {
+ var hash = this._hashCode;
+ if (hash != null)
+ return hash;
+ hash = 536870911 & 664597 * J.get$hashCode$(this.__internal$_name);
+ this._hashCode = hash;
+ return hash;
+ },
+ toString$0: function(_) {
+ return 'Symbol("' + H.S(this.__internal$_name) + '")';
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof H.Symbol && this.__internal$_name == other.__internal$_name;
+ },
+ $isSymbol0: 1
+ };
+ H.ConstantMapView.prototype = {};
+ H.ConstantMap.prototype = {
+ get$isEmpty: function(_) {
+ return this.get$length(this) === 0;
+ },
+ toString$0: function(_) {
+ return P.MapBase_mapToString(this);
+ },
+ $indexSet: function(_, key, val) {
+ var t1 = H._instanceType(this);
+ t1._precomputed1._as(key);
+ t1._rest[1]._as(val);
+ H.ConstantMap__throwUnmodifiable();
+ },
+ map$2$1: function(_, transform, K2, V2) {
+ var result = P.LinkedHashMap_LinkedHashMap$_empty(K2, V2);
+ this.forEach$1(0, new H.ConstantMap_map_closure(this, H._instanceType(this)._bind$1(K2)._bind$1(V2)._eval$1("MapEntry<1,2>(3,4)")._as(transform), result));
+ return result;
+ },
+ map$1: function($receiver, transform) {
+ return this.map$2$1($receiver, transform, type$.dynamic, type$.dynamic);
+ },
+ $isMap: 1
+ };
+ H.ConstantMap_map_closure.prototype = {
+ call$2: function(key, value) {
+ var t1 = H._instanceType(this.$this),
+ entry = this.transform.call$2(t1._precomputed1._as(key), t1._rest[1]._as(value));
+ this.result.$indexSet(0, C.JSNull_methods.get$key(entry), entry.get$value());
+ },
+ $signature: function() {
+ return H._instanceType(this.$this)._eval$1("Null(1,2)");
+ }
+ };
+ H.ConstantStringMap.prototype = {
+ get$length: function(_) {
+ return this._length;
+ },
+ containsKey$1: function(key) {
+ if (typeof key != "string")
+ return false;
+ if ("__proto__" === key)
+ return false;
+ return this._jsObject.hasOwnProperty(key);
+ },
+ $index: function(_, key) {
+ if (!this.containsKey$1(key))
+ return null;
+ return this._fetch$1(key);
+ },
+ _fetch$1: function(key) {
+ return this._jsObject[H._asStringS(key)];
+ },
+ forEach$1: function(_, f) {
+ var keys, t2, i, key,
+ t1 = H._instanceType(this);
+ t1._eval$1("~(1,2)")._as(f);
+ keys = this._keys;
+ for (t2 = keys.length, t1 = t1._rest[1], i = 0; i < t2; ++i) {
+ key = keys[i];
+ f.call$2(key, t1._as(this._fetch$1(key)));
+ }
+ },
+ get$keys: function() {
+ return new H._ConstantMapKeyIterable(this, H._instanceType(this)._eval$1("_ConstantMapKeyIterable<1>"));
+ }
+ };
+ H._ConstantMapKeyIterable.prototype = {
+ get$iterator: function(_) {
+ var t1 = this._map._keys;
+ return new J.ArrayIterator(t1, t1.length, H._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
+ },
+ get$length: function(_) {
+ return this._map._keys.length;
+ }
+ };
+ H.JSInvocationMirror.prototype = {
+ get$memberName: function() {
+ var t1 = this._memberName;
+ return t1;
+ },
+ get$positionalArguments: function() {
+ var t1, argumentCount, list, index, _this = this;
+ if (_this.__js_helper$_kind === 1)
+ return C.List_empty;
+ t1 = _this._arguments;
+ argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount;
+ if (argumentCount === 0)
+ return C.List_empty;
+ list = [];
+ for (index = 0; index < argumentCount; ++index) {
+ if (index >= t1.length)
+ return H.ioore(t1, index);
+ list.push(t1[index]);
+ }
+ list.fixed$length = Array;
+ list.immutable$list = Array;
+ return list;
+ },
+ get$namedArguments: function() {
+ var t1, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this;
+ if (_this.__js_helper$_kind !== 0)
+ return C.Map_empty0;
+ t1 = _this._namedArgumentNames;
+ namedArgumentCount = t1.length;
+ t2 = _this._arguments;
+ namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount;
+ if (namedArgumentCount === 0)
+ return C.Map_empty0;
+ map = new H.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic);
+ for (i = 0; i < namedArgumentCount; ++i) {
+ if (i >= t1.length)
+ return H.ioore(t1, i);
+ t3 = t1[i];
+ t4 = namedArgumentsStartIndex + i;
+ if (t4 < 0 || t4 >= t2.length)
+ return H.ioore(t2, t4);
+ map.$indexSet(0, new H.Symbol(t3), t2[t4]);
+ }
+ return new H.ConstantMapView(map, type$.ConstantMapView_Symbol_dynamic);
+ },
+ $isInvocation: 1
+ };
+ H.Primitives_functionNoSuchMethod_closure.prototype = {
+ call$2: function($name, argument) {
+ var t1;
+ H._asStringS($name);
+ t1 = this._box_0;
+ t1.names = t1.names + "$" + H.S($name);
+ C.JSArray_methods.add$1(this.namedArgumentList, $name);
+ C.JSArray_methods.add$1(this.$arguments, argument);
+ ++t1.argumentCount;
+ },
+ $signature: 44
+ };
+ H.TypeErrorDecoder.prototype = {
+ matchTypeError$1: function(message) {
+ var result, t1, _this = this,
+ match = new RegExp(_this._pattern).exec(message);
+ if (match == null)
+ return null;
+ result = Object.create(null);
+ t1 = _this._arguments;
+ if (t1 !== -1)
+ result.arguments = match[t1 + 1];
+ t1 = _this._argumentsExpr;
+ if (t1 !== -1)
+ result.argumentsExpr = match[t1 + 1];
+ t1 = _this._expr;
+ if (t1 !== -1)
+ result.expr = match[t1 + 1];
+ t1 = _this._method;
+ if (t1 !== -1)
+ result.method = match[t1 + 1];
+ t1 = _this._receiver;
+ if (t1 !== -1)
+ result.receiver = match[t1 + 1];
+ return result;
+ }
+ };
+ H.NullError.prototype = {
+ toString$0: function(_) {
+ var t1 = this._method;
+ if (t1 == null)
+ return "NoSuchMethodError: " + H.S(this._message);
+ return "NoSuchMethodError: method not found: '" + t1 + "' on null";
+ }
+ };
+ H.JsNoSuchMethodError.prototype = {
+ toString$0: function(_) {
+ var t2, _this = this,
+ _s38_ = "NoSuchMethodError: method not found: '",
+ t1 = _this._method;
+ if (t1 == null)
+ return "NoSuchMethodError: " + H.S(_this._message);
+ t2 = _this._receiver;
+ if (t2 == null)
+ return _s38_ + t1 + "' (" + H.S(_this._message) + ")";
+ return _s38_ + t1 + "' on '" + t2 + "' (" + H.S(_this._message) + ")";
+ }
+ };
+ H.UnknownJsTypeError.prototype = {
+ toString$0: function(_) {
+ var t1 = this._message;
+ return t1.length === 0 ? "Error" : "Error: " + t1;
+ }
+ };
+ H.NullThrownFromJavaScriptException.prototype = {
+ toString$0: function(_) {
+ return "Throw of null ('" + (this._irritant === null ? "null" : "undefined") + "' from JavaScript)";
+ }
+ };
+ H.ExceptionAndStackTrace.prototype = {};
+ H._StackTrace.prototype = {
+ toString$0: function(_) {
+ var trace,
+ t1 = this._trace;
+ if (t1 != null)
+ return t1;
+ t1 = this._exception;
+ trace = t1 !== null && typeof t1 === "object" ? t1.stack : null;
+ return this._trace = trace == null ? "" : trace;
+ },
+ $isStackTrace: 1
+ };
+ H.Closure.prototype = {
+ toString$0: function(_) {
+ var $constructor = this.constructor,
+ $name = $constructor == null ? null : $constructor.name;
+ return "Closure '" + H.unminifyOrTag($name == null ? "unknown" : $name) + "'";
+ },
+ $isFunction: 1,
+ get$$call: function() {
+ return this;
+ },
+ "call*": "call$1",
+ $requiredArgCount: 1,
+ $defaultValues: null
+ };
+ H.TearOffClosure.prototype = {};
+ H.StaticClosure.prototype = {
+ toString$0: function(_) {
+ var $name = this.$static_name;
+ if ($name == null)
+ return "Closure of unknown static method";
+ return "Closure '" + H.unminifyOrTag($name) + "'";
+ }
+ };
+ H.BoundClosure.prototype = {
+ $eq: function(_, other) {
+ var _this = this;
+ if (other == null)
+ return false;
+ if (_this === other)
+ return true;
+ if (!(other instanceof H.BoundClosure))
+ return false;
+ return _this._self === other._self && _this.__js_helper$_target === other.__js_helper$_target && _this._receiver === other._receiver;
+ },
+ get$hashCode: function(_) {
+ var receiverHashCode,
+ t1 = this._receiver;
+ if (t1 == null)
+ receiverHashCode = H.Primitives_objectHashCode(this._self);
+ else
+ receiverHashCode = typeof t1 !== "object" ? J.get$hashCode$(t1) : H.Primitives_objectHashCode(t1);
+ return (receiverHashCode ^ H.Primitives_objectHashCode(this.__js_helper$_target)) >>> 0;
+ },
+ toString$0: function(_) {
+ var receiver = this._receiver;
+ if (receiver == null)
+ receiver = this._self;
+ return "Closure '" + H.S(this._name) + "' of " + ("Instance of '" + H.S(H.Primitives_objectTypeName(receiver)) + "'");
+ }
+ };
+ H.RuntimeError.prototype = {
+ toString$0: function(_) {
+ return "RuntimeError: " + H.S(this.message);
+ }
+ };
+ H._AssertionError.prototype = {
+ toString$0: function(_) {
+ return "Assertion failed: " + P.Error_safeToString(this.message);
+ }
+ };
+ H._Required.prototype = {};
+ H.JsLinkedHashMap.prototype = {
+ get$length: function(_) {
+ return this._length;
+ },
+ get$isEmpty: function(_) {
+ return this._length === 0;
+ },
+ get$isNotEmpty: function(_) {
+ return !this.get$isEmpty(this);
+ },
+ get$keys: function() {
+ return new H.LinkedHashMapKeyIterable(this, H._instanceType(this)._eval$1("LinkedHashMapKeyIterable<1>"));
+ },
+ containsKey$1: function(key) {
+ var strings, t1;
+ if (typeof key == "string") {
+ strings = this._strings;
+ if (strings == null)
+ return false;
+ return this._containsTableEntry$2(strings, key);
+ } else {
+ t1 = this.internalContainsKey$1(key);
+ return t1;
+ }
+ },
+ internalContainsKey$1: function(key) {
+ var _this = this,
+ rest = _this.__js_helper$_rest;
+ if (rest == null)
+ return false;
+ return _this.internalFindBucketIndex$2(_this._getTableBucket$2(rest, _this.internalComputeHashCode$1(key)), key) >= 0;
+ },
+ addAll$1: function(_, other) {
+ H._instanceType(this)._eval$1("Map<1,2>")._as(other).forEach$1(0, new H.JsLinkedHashMap_addAll_closure(this));
+ },
+ $index: function(_, key) {
+ var strings, cell, t1, nums, _this = this, _null = null;
+ if (typeof key == "string") {
+ strings = _this._strings;
+ if (strings == null)
+ return _null;
+ cell = _this._getTableCell$2(strings, key);
+ t1 = cell == null ? _null : cell.hashMapCellValue;
+ return t1;
+ } else if (typeof key == "number" && (key & 0x3ffffff) === key) {
+ nums = _this._nums;
+ if (nums == null)
+ return _null;
+ cell = _this._getTableCell$2(nums, key);
+ t1 = cell == null ? _null : cell.hashMapCellValue;
+ return t1;
+ } else
+ return _this.internalGet$1(key);
+ },
+ internalGet$1: function(key) {
+ var bucket, index, _this = this,
+ rest = _this.__js_helper$_rest;
+ if (rest == null)
+ return null;
+ bucket = _this._getTableBucket$2(rest, _this.internalComputeHashCode$1(key));
+ index = _this.internalFindBucketIndex$2(bucket, key);
+ if (index < 0)
+ return null;
+ return bucket[index].hashMapCellValue;
+ },
+ $indexSet: function(_, key, value) {
+ var strings, nums, _this = this,
+ t1 = H._instanceType(_this);
+ t1._precomputed1._as(key);
+ t1._rest[1]._as(value);
+ if (typeof key == "string") {
+ strings = _this._strings;
+ _this._addHashTableEntry$3(strings == null ? _this._strings = _this._newHashTable$0() : strings, key, value);
+ } else if (typeof key == "number" && (key & 0x3ffffff) === key) {
+ nums = _this._nums;
+ _this._addHashTableEntry$3(nums == null ? _this._nums = _this._newHashTable$0() : nums, key, value);
+ } else
+ _this.internalSet$2(key, value);
+ },
+ internalSet$2: function(key, value) {
+ var rest, hash, bucket, index, _this = this,
+ t1 = H._instanceType(_this);
+ t1._precomputed1._as(key);
+ t1._rest[1]._as(value);
+ rest = _this.__js_helper$_rest;
+ if (rest == null)
+ rest = _this.__js_helper$_rest = _this._newHashTable$0();
+ hash = _this.internalComputeHashCode$1(key);
+ bucket = _this._getTableBucket$2(rest, hash);
+ if (bucket == null)
+ _this._setTableEntry$3(rest, hash, [_this._newLinkedCell$2(key, value)]);
+ else {
+ index = _this.internalFindBucketIndex$2(bucket, key);
+ if (index >= 0)
+ bucket[index].hashMapCellValue = value;
+ else
+ bucket.push(_this._newLinkedCell$2(key, value));
+ }
+ },
+ putIfAbsent$2: function(key, ifAbsent) {
+ var value, _this = this,
+ t1 = H._instanceType(_this);
+ t1._precomputed1._as(key);
+ t1._eval$1("2()")._as(ifAbsent);
+ if (_this.containsKey$1(key))
+ return _this.$index(0, key);
+ value = ifAbsent.call$0();
+ _this.$indexSet(0, key, value);
+ return value;
+ },
+ remove$1: function(_, key) {
+ var _this = this;
+ if (typeof key == "string")
+ return _this._removeHashTableEntry$2(_this._strings, key);
+ else if (typeof key == "number" && (key & 0x3ffffff) === key)
+ return _this._removeHashTableEntry$2(_this._nums, key);
+ else
+ return _this.internalRemove$1(key);
+ },
+ internalRemove$1: function(key) {
+ var hash, bucket, index, cell, _this = this,
+ rest = _this.__js_helper$_rest;
+ if (rest == null)
+ return null;
+ hash = _this.internalComputeHashCode$1(key);
+ bucket = _this._getTableBucket$2(rest, hash);
+ index = _this.internalFindBucketIndex$2(bucket, key);
+ if (index < 0)
+ return null;
+ cell = bucket.splice(index, 1)[0];
+ _this._unlinkCell$1(cell);
+ if (bucket.length === 0)
+ _this._deleteTableEntry$2(rest, hash);
+ return cell.hashMapCellValue;
+ },
+ forEach$1: function(_, action) {
+ var cell, modifications, _this = this;
+ H._instanceType(_this)._eval$1("~(1,2)")._as(action);
+ cell = _this._first;
+ modifications = _this._modifications;
+ for (; cell != null;) {
+ action.call$2(cell.hashMapCellKey, cell.hashMapCellValue);
+ if (modifications !== _this._modifications)
+ throw H.wrapException(P.ConcurrentModificationError$(_this));
+ cell = cell._next;
+ }
+ },
+ _addHashTableEntry$3: function(table, key, value) {
+ var cell, _this = this,
+ t1 = H._instanceType(_this);
+ t1._precomputed1._as(key);
+ t1._rest[1]._as(value);
+ cell = _this._getTableCell$2(table, key);
+ if (cell == null)
+ _this._setTableEntry$3(table, key, _this._newLinkedCell$2(key, value));
+ else
+ cell.hashMapCellValue = value;
+ },
+ _removeHashTableEntry$2: function(table, key) {
+ var cell;
+ if (table == null)
+ return null;
+ cell = this._getTableCell$2(table, key);
+ if (cell == null)
+ return null;
+ this._unlinkCell$1(cell);
+ this._deleteTableEntry$2(table, key);
+ return cell.hashMapCellValue;
+ },
+ _modified$0: function() {
+ this._modifications = this._modifications + 1 & 67108863;
+ },
+ _newLinkedCell$2: function(key, value) {
+ var _this = this,
+ t1 = H._instanceType(_this),
+ cell = new H.LinkedHashMapCell(t1._precomputed1._as(key), t1._rest[1]._as(value));
+ if (_this._first == null)
+ _this._first = _this._last = cell;
+ else {
+ t1 = _this._last;
+ t1.toString;
+ cell._previous = t1;
+ _this._last = t1._next = cell;
+ }
+ ++_this._length;
+ _this._modified$0();
+ return cell;
+ },
+ _unlinkCell$1: function(cell) {
+ var _this = this,
+ previous = cell._previous,
+ next = cell._next;
+ if (previous == null)
+ _this._first = next;
+ else
+ previous._next = next;
+ if (next == null)
+ _this._last = previous;
+ else
+ next._previous = previous;
+ --_this._length;
+ _this._modified$0();
+ },
+ internalComputeHashCode$1: function(key) {
+ return J.get$hashCode$(key) & 0x3ffffff;
+ },
+ internalFindBucketIndex$2: function(bucket, key) {
+ var $length, i;
+ if (bucket == null)
+ return -1;
+ $length = bucket.length;
+ for (i = 0; i < $length; ++i)
+ if (J.$eq$(bucket[i].hashMapCellKey, key))
+ return i;
+ return -1;
+ },
+ toString$0: function(_) {
+ return P.MapBase_mapToString(this);
+ },
+ _getTableCell$2: function(table, key) {
+ return table[key];
+ },
+ _getTableBucket$2: function(table, key) {
+ return table[key];
+ },
+ _setTableEntry$3: function(table, key, value) {
+ table[key] = value;
+ },
+ _deleteTableEntry$2: function(table, key) {
+ delete table[key];
+ },
+ _containsTableEntry$2: function(table, key) {
+ return this._getTableCell$2(table, key) != null;
+ },
+ _newHashTable$0: function() {
+ var _s20_ = "<non-identifier-key>",
+ table = Object.create(null);
+ this._setTableEntry$3(table, _s20_, table);
+ this._deleteTableEntry$2(table, _s20_);
+ return table;
+ },
+ $isLinkedHashMap: 1
+ };
+ H.JsLinkedHashMap_addAll_closure.prototype = {
+ call$2: function(key, value) {
+ var t1 = this.$this,
+ t2 = H._instanceType(t1);
+ t1.$indexSet(0, t2._precomputed1._as(key), t2._rest[1]._as(value));
+ },
+ $signature: function() {
+ return H._instanceType(this.$this)._eval$1("Null(1,2)");
+ }
+ };
+ H.LinkedHashMapCell.prototype = {};
+ H.LinkedHashMapKeyIterable.prototype = {
+ get$length: function(_) {
+ return this._map._length;
+ },
+ get$isEmpty: function(_) {
+ return this._map._length === 0;
+ },
+ get$iterator: function(_) {
+ var t1 = this._map,
+ t2 = new H.LinkedHashMapKeyIterator(t1, t1._modifications, this.$ti._eval$1("LinkedHashMapKeyIterator<1>"));
+ t2._cell = t1._first;
+ return t2;
+ },
+ contains$1: function(_, element) {
+ return this._map.containsKey$1(element);
+ }
+ };
+ H.LinkedHashMapKeyIterator.prototype = {
+ get$current: function() {
+ return this.__js_helper$_current;
+ },
+ moveNext$0: function() {
+ var cell, _this = this,
+ t1 = _this._map;
+ if (_this._modifications !== t1._modifications)
+ throw H.wrapException(P.ConcurrentModificationError$(t1));
+ cell = _this._cell;
+ if (cell == null) {
+ _this.set$__js_helper$_current(null);
+ return false;
+ } else {
+ _this.set$__js_helper$_current(cell.hashMapCellKey);
+ _this._cell = cell._next;
+ return true;
+ }
+ },
+ set$__js_helper$_current: function(_current) {
+ this.__js_helper$_current = this.$ti._eval$1("1?")._as(_current);
+ },
+ $isIterator: 1
+ };
+ H.initHooks_closure.prototype = {
+ call$1: function(o) {
+ return this.getTag(o);
+ },
+ $signature: 3
+ };
+ H.initHooks_closure0.prototype = {
+ call$2: function(o, tag) {
+ return this.getUnknownTag(o, tag);
+ },
+ $signature: 31
+ };
+ H.initHooks_closure1.prototype = {
+ call$1: function(tag) {
+ return this.prototypeForTag(H._asStringS(tag));
+ },
+ $signature: 41
+ };
+ H.NativeByteBuffer.prototype = {
+ get$runtimeType: function(receiver) {
+ return C.Type_ByteBuffer_RkP;
+ }
+ };
+ H.NativeTypedData.prototype = {};
+ H.NativeByteData.prototype = {
+ get$runtimeType: function(receiver) {
+ return C.Type_ByteData_zNC;
+ },
+ _getUint32$2: function(receiver, byteOffset, littleEndian) {
+ return receiver.getUint32(byteOffset, littleEndian);
+ },
+ $isByteData: 1
+ };
+ H.NativeTypedArray.prototype = {
+ get$length: function(receiver) {
+ return receiver.length;
+ },
+ $isJSIndexable: 1,
+ $isJavaScriptIndexingBehavior: 1
+ };
+ H.NativeTypedArrayOfDouble.prototype = {
+ $index: function(receiver, index) {
+ H._asIntS(index);
+ H._checkValidIndex(index, receiver, receiver.length);
+ return receiver[index];
+ },
+ $indexSet: function(receiver, index, value) {
+ H._asIntS(index);
+ H._asDoubleS(value);
+ H._checkValidIndex(index, receiver, receiver.length);
+ receiver[index] = value;
+ },
+ $isEfficientLengthIterable: 1,
+ $isIterable: 1,
+ $isList: 1
+ };
+ H.NativeTypedArrayOfInt.prototype = {
+ $indexSet: function(receiver, index, value) {
+ H._asIntS(index);
+ H._asIntS(value);
+ H._checkValidIndex(index, receiver, receiver.length);
+ receiver[index] = value;
+ },
+ $isEfficientLengthIterable: 1,
+ $isIterable: 1,
+ $isList: 1
+ };
+ H.NativeFloat32List.prototype = {
+ get$runtimeType: function(receiver) {
+ return C.Type_Float32List_LB7;
+ }
+ };
+ H.NativeFloat64List.prototype = {
+ get$runtimeType: function(receiver) {
+ return C.Type_Float64List_LB7;
+ }
+ };
+ H.NativeInt16List.prototype = {
+ get$runtimeType: function(receiver) {
+ return C.Type_Int16List_uXf;
+ },
+ $index: function(receiver, index) {
+ H._asIntS(index);
+ H._checkValidIndex(index, receiver, receiver.length);
+ return receiver[index];
+ }
+ };
+ H.NativeInt32List.prototype = {
+ get$runtimeType: function(receiver) {
+ return C.Type_Int32List_O50;
+ },
+ $index: function(receiver, index) {
+ H._asIntS(index);
+ H._checkValidIndex(index, receiver, receiver.length);
+ return receiver[index];
+ }
+ };
+ H.NativeInt8List.prototype = {
+ get$runtimeType: function(receiver) {
+ return C.Type_Int8List_ekJ;
+ },
+ $index: function(receiver, index) {
+ H._asIntS(index);
+ H._checkValidIndex(index, receiver, receiver.length);
+ return receiver[index];
+ }
+ };
+ H.NativeUint16List.prototype = {
+ get$runtimeType: function(receiver) {
+ return C.Type_Uint16List_2bx;
+ },
+ $index: function(receiver, index) {
+ H._asIntS(index);
+ H._checkValidIndex(index, receiver, receiver.length);
+ return receiver[index];
+ }
+ };
+ H.NativeUint32List.prototype = {
+ get$runtimeType: function(receiver) {
+ return C.Type_Uint32List_2bx;
+ },
+ $index: function(receiver, index) {
+ H._asIntS(index);
+ H._checkValidIndex(index, receiver, receiver.length);
+ return receiver[index];
+ }
+ };
+ H.NativeUint8ClampedList.prototype = {
+ get$runtimeType: function(receiver) {
+ return C.Type_Uint8ClampedList_Jik;
+ },
+ get$length: function(receiver) {
+ return receiver.length;
+ },
+ $index: function(receiver, index) {
+ H._asIntS(index);
+ H._checkValidIndex(index, receiver, receiver.length);
+ return receiver[index];
+ }
+ };
+ H.NativeUint8List.prototype = {
+ get$runtimeType: function(receiver) {
+ return C.Type_Uint8List_WLA;
+ },
+ get$length: function(receiver) {
+ return receiver.length;
+ },
+ $index: function(receiver, index) {
+ H._asIntS(index);
+ H._checkValidIndex(index, receiver, receiver.length);
+ return receiver[index];
+ },
+ $isUint8List: 1
+ };
+ H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.prototype = {};
+ H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {};
+ H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {};
+ H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {};
+ H.Rti.prototype = {
+ _eval$1: function(recipe) {
+ return H._Universe_evalInEnvironment(init.typeUniverse, this, recipe);
+ },
+ _bind$1: function(typeOrTuple) {
+ return H._Universe_bind(init.typeUniverse, this, typeOrTuple);
+ }
+ };
+ H._FunctionParameters.prototype = {};
+ H._Type.prototype = {
+ toString$0: function(_) {
+ return H._rtiToString(this._rti, null);
+ }
+ };
+ H._Error.prototype = {
+ toString$0: function(_) {
+ return this.__rti$_message;
+ }
+ };
+ H._TypeError.prototype = {};
+ P._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = {
+ call$1: function(_) {
+ var t1 = this._box_0,
+ f = t1.storedCallback;
+ t1.storedCallback = null;
+ f.call$0();
+ },
+ $signature: 11
+ };
+ P._AsyncRun__initializeScheduleImmediate_closure.prototype = {
+ call$1: function(callback) {
+ var t1, t2;
+ this._box_0.storedCallback = type$.void_Function._as(callback);
+ t1 = this.div;
+ t2 = this.span;
+ t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
+ },
+ $signature: 33
+ };
+ P._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
+ call$0: function() {
+ this.callback.call$0();
+ },
+ "call*": "call$0",
+ $requiredArgCount: 0,
+ $signature: 1
+ };
+ P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = {
+ call$0: function() {
+ this.callback.call$0();
+ },
+ "call*": "call$0",
+ $requiredArgCount: 0,
+ $signature: 1
+ };
+ P._TimerImpl.prototype = {
+ _TimerImpl$2: function(milliseconds, callback) {
+ if (self.setTimeout != null)
+ this._handle = self.setTimeout(H.convertDartClosureToJS(new P._TimerImpl_internalCallback(this, callback), 0), milliseconds);
+ else
+ throw H.wrapException(P.UnsupportedError$("`setTimeout()` not found."));
+ },
+ cancel$0: function() {
+ if (self.setTimeout != null) {
+ var t1 = this._handle;
+ if (t1 == null)
+ return;
+ self.clearTimeout(t1);
+ this._handle = null;
+ } else
+ throw H.wrapException(P.UnsupportedError$("Canceling a timer."));
+ },
+ $isTimer: 1
+ };
+ P._TimerImpl_internalCallback.prototype = {
+ call$0: function() {
+ this.$this._handle = null;
+ this.callback.call$0();
+ },
+ "call*": "call$0",
+ $requiredArgCount: 0,
+ $signature: 0
+ };
+ P._AsyncAwaitCompleter.prototype = {
+ complete$1: function(value) {
+ var t2, _this = this,
+ t1 = _this.$ti;
+ t1._eval$1("1/?")._as(value);
+ if (!_this.isSync)
+ _this._future._asyncComplete$1(value);
+ else {
+ t2 = _this._future;
+ if (t1._eval$1("Future<1>")._is(value))
+ t2._chainFuture$1(value);
+ else
+ t2._completeWithValue$1(t1._precomputed1._as(value));
+ }
+ },
+ completeError$2: function(e, st) {
+ var t1;
+ if (st == null)
+ st = P.AsyncError_defaultStackTrace(e);
+ t1 = this._future;
+ if (this.isSync)
+ t1._completeError$2(e, st);
+ else
+ t1._asyncCompleteError$2(e, st);
+ },
+ completeError$1: function(e) {
+ return this.completeError$2(e, null);
+ },
+ $isCompleter: 1
+ };
+ P._awaitOnObject_closure.prototype = {
+ call$1: function(result) {
+ return this.bodyFunction.call$2(0, result);
+ },
+ $signature: 2
+ };
+ P._awaitOnObject_closure0.prototype = {
+ call$2: function(error, stackTrace) {
+ this.bodyFunction.call$2(1, new H.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace)));
+ },
+ "call*": "call$2",
+ $requiredArgCount: 2,
+ $signature: 34
+ };
+ P._wrapJsFunctionForAsync_closure.prototype = {
+ call$2: function(errorCode, result) {
+ this.$protected(H._asIntS(errorCode), result);
+ },
+ $signature: 38
+ };
+ P._BroadcastSubscription.prototype = {
+ _onPause$0: function() {
+ },
+ _onResume$0: function() {
+ },
+ set$_async$_next: function(_next) {
+ this._async$_next = this.$ti._eval$1("_BroadcastSubscription<1>?")._as(_next);
+ },
+ set$_async$_previous: function(_previous) {
+ this._async$_previous = this.$ti._eval$1("_BroadcastSubscription<1>?")._as(_previous);
+ }
+ };
+ P._BroadcastStreamController.prototype = {
+ get$_mayAddEvent: function() {
+ return this._state < 4;
+ },
+ _removeListener$1: function(subscription) {
+ var previous, next;
+ H._instanceType(this)._eval$1("_BroadcastSubscription<1>")._as(subscription);
+ previous = subscription._async$_previous;
+ next = subscription._async$_next;
+ if (previous == null)
+ this.set$_firstSubscription(next);
+ else
+ previous.set$_async$_next(next);
+ if (next == null)
+ this.set$_lastSubscription(previous);
+ else
+ next.set$_async$_previous(previous);
+ subscription.set$_async$_previous(subscription);
+ subscription.set$_async$_next(subscription);
+ },
+ _subscribe$4: function(onData, onError, onDone, cancelOnError) {
+ var t2, t3, t4, t5, subscription, oldLast, _this = this,
+ t1 = H._instanceType(_this);
+ t1._eval$1("~(1)?")._as(onData);
+ type$.nullable_void_Function._as(onDone);
+ if ((_this._state & 4) !== 0) {
+ t1 = new P._DoneStreamSubscription($.Zone__current, onDone, t1._eval$1("_DoneStreamSubscription<1>"));
+ t1._schedule$0();
+ return t1;
+ }
+ t2 = $.Zone__current;
+ t3 = cancelOnError ? 1 : 0;
+ t4 = P._BufferingStreamSubscription__registerDataHandler(t2, onData, t1._precomputed1);
+ t5 = P._BufferingStreamSubscription__registerErrorHandler(t2, onError);
+ t1 = t1._eval$1("_BroadcastSubscription<1>");
+ subscription = new P._BroadcastSubscription(_this, t4, t5, type$.void_Function._as(onDone), t2, t3, t1);
+ subscription.set$_async$_previous(subscription);
+ subscription.set$_async$_next(subscription);
+ t1._as(subscription);
+ subscription._eventState = _this._state & 1;
+ oldLast = _this._lastSubscription;
+ _this.set$_lastSubscription(subscription);
+ subscription.set$_async$_next(null);
+ subscription.set$_async$_previous(oldLast);
+ if (oldLast == null)
+ _this.set$_firstSubscription(subscription);
+ else
+ oldLast.set$_async$_next(subscription);
+ if (_this._firstSubscription == _this._lastSubscription)
+ P._runGuarded(_this.onListen);
+ return subscription;
+ },
+ _recordCancel$1: function(sub) {
+ var _this = this,
+ t1 = H._instanceType(_this);
+ sub = t1._eval$1("_BroadcastSubscription<1>")._as(t1._eval$1("StreamSubscription<1>")._as(sub));
+ if (sub._async$_next === sub)
+ return null;
+ t1 = sub._eventState;
+ if ((t1 & 2) !== 0)
+ sub._eventState = t1 | 4;
+ else {
+ _this._removeListener$1(sub);
+ if ((_this._state & 2) === 0 && _this._firstSubscription == null)
+ _this._callOnCancel$0();
+ }
+ return null;
+ },
+ _recordPause$1: function(subscription) {
+ H._instanceType(this)._eval$1("StreamSubscription<1>")._as(subscription);
+ },
+ _recordResume$1: function(subscription) {
+ H._instanceType(this)._eval$1("StreamSubscription<1>")._as(subscription);
+ },
+ _addEventError$0: function() {
+ if ((this._state & 4) !== 0)
+ return new P.StateError("Cannot add new events after calling close");
+ return new P.StateError("Cannot add new events while doing an addStream");
+ },
+ add$1: function(_, data) {
+ var _this = this;
+ H._instanceType(_this)._precomputed1._as(data);
+ if (!_this.get$_mayAddEvent())
+ throw H.wrapException(_this._addEventError$0());
+ _this._sendData$1(data);
+ },
+ _forEachListener$1: function(action) {
+ var t1, subscription, id, next, _this = this;
+ H._instanceType(_this)._eval$1("~(_BufferingStreamSubscription<1>)")._as(action);
+ t1 = _this._state;
+ if ((t1 & 2) !== 0)
+ throw H.wrapException(P.StateError$("Cannot fire new event. Controller is already firing an event"));
+ subscription = _this._firstSubscription;
+ if (subscription == null)
+ return;
+ id = t1 & 1;
+ _this._state = t1 ^ 3;
+ for (; subscription != null;) {
+ t1 = subscription._eventState;
+ if ((t1 & 1) === id) {
+ subscription._eventState = t1 | 2;
+ action.call$1(subscription);
+ t1 = subscription._eventState ^= 1;
+ next = subscription._async$_next;
+ if ((t1 & 4) !== 0)
+ _this._removeListener$1(subscription);
+ subscription._eventState &= 4294967293;
+ subscription = next;
+ } else
+ subscription = subscription._async$_next;
+ }
+ _this._state &= 4294967293;
+ if (_this._firstSubscription == null)
+ _this._callOnCancel$0();
+ },
+ _callOnCancel$0: function() {
+ if ((this._state & 4) !== 0) {
+ var doneFuture = this._doneFuture;
+ if (doneFuture._state === 0)
+ doneFuture._asyncComplete$1(null);
+ }
+ P._runGuarded(this.onCancel);
+ },
+ set$_firstSubscription: function(_firstSubscription) {
+ this._firstSubscription = H._instanceType(this)._eval$1("_BroadcastSubscription<1>?")._as(_firstSubscription);
+ },
+ set$_lastSubscription: function(_lastSubscription) {
+ this._lastSubscription = H._instanceType(this)._eval$1("_BroadcastSubscription<1>?")._as(_lastSubscription);
+ },
+ $isStreamController: 1,
+ $is_StreamControllerLifecycle: 1,
+ $is_EventSink: 1,
+ $is_EventDispatch: 1
+ };
+ P._SyncBroadcastStreamController.prototype = {
+ get$_mayAddEvent: function() {
+ return P._BroadcastStreamController.prototype.get$_mayAddEvent.call(this) && (this._state & 2) === 0;
+ },
+ _addEventError$0: function() {
+ if ((this._state & 2) !== 0)
+ return new P.StateError("Cannot fire new event. Controller is already firing an event");
+ return this.super$_BroadcastStreamController$_addEventError();
+ },
+ _sendData$1: function(data) {
+ var t2, _this = this,
+ t1 = _this.$ti;
+ t1._precomputed1._as(data);
+ t2 = _this._firstSubscription;
+ if (t2 == null)
+ return;
+ if (t2 === _this._lastSubscription) {
+ _this._state |= 2;
+ t1._eval$1("_BroadcastSubscription<1>")._as(t2)._add$1(data);
+ _this._state &= 4294967293;
+ if (_this._firstSubscription == null)
+ _this._callOnCancel$0();
+ return;
+ }
+ _this._forEachListener$1(new P._SyncBroadcastStreamController__sendData_closure(_this, data));
+ }
+ };
+ P._SyncBroadcastStreamController__sendData_closure.prototype = {
+ call$1: function(subscription) {
+ this.$this.$ti._eval$1("_BufferingStreamSubscription<1>")._as(subscription)._add$1(this.data);
+ },
+ $signature: function() {
+ return this.$this.$ti._eval$1("Null(_BufferingStreamSubscription<1>)");
+ }
+ };
+ P._AsyncBroadcastStreamController.prototype = {
+ _sendData$1: function(data) {
+ var subscription,
+ t1 = this.$ti;
+ t1._precomputed1._as(data);
+ for (subscription = this._firstSubscription, t1 = t1._eval$1("_DelayedData<1>"); subscription != null; subscription = subscription._async$_next)
+ subscription._addPending$1(new P._DelayedData(data, t1));
+ }
+ };
+ P.Future.prototype = {};
+ P.Completer.prototype = {};
+ P._Completer.prototype = {
+ completeError$2: function(error, stackTrace) {
+ var t1;
+ P.ArgumentError_checkNotNull(error, "error", type$.Object);
+ t1 = this.future;
+ if (t1._state !== 0)
+ throw H.wrapException(P.StateError$("Future already completed"));
+ if (stackTrace == null)
+ stackTrace = P.AsyncError_defaultStackTrace(error);
+ t1._asyncCompleteError$2(error, stackTrace);
+ },
+ completeError$1: function(error) {
+ return this.completeError$2(error, null);
+ },
+ $isCompleter: 1
+ };
+ P._AsyncCompleter.prototype = {
+ complete$1: function(value) {
+ var t2,
+ t1 = this.$ti;
+ t1._eval$1("1/?")._as(value);
+ t2 = this.future;
+ if (t2._state !== 0)
+ throw H.wrapException(P.StateError$("Future already completed"));
+ t2._asyncComplete$1(t1._eval$1("1/")._as(value));
+ },
+ complete$0: function() {
+ return this.complete$1(null);
+ }
+ };
+ P._FutureListener.prototype = {
+ matchesErrorTest$1: function(asyncError) {
+ if ((this.state & 15) !== 6)
+ return true;
+ return this.result._zone.runUnary$2$2(type$.bool_Function_Object._as(this.callback), asyncError.error, type$.bool, type$.Object);
+ },
+ handleError$1: function(asyncError) {
+ var errorCallback = this.errorCallback,
+ t1 = type$.dynamic,
+ t2 = type$.Object,
+ t3 = this.$ti._eval$1("2/"),
+ t4 = this.result._zone;
+ if (type$.dynamic_Function_Object_StackTrace._is(errorCallback))
+ return t3._as(t4.runBinary$3$3(errorCallback, asyncError.error, asyncError.stackTrace, t1, t2, type$.StackTrace));
+ else
+ return t3._as(t4.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), asyncError.error, t1, t2));
+ }
+ };
+ P._Future.prototype = {
+ then$1$2$onError: function(f, onError, $R) {
+ var currentZone, result, t2,
+ t1 = this.$ti;
+ t1._bind$1($R)._eval$1("1/(2)")._as(f);
+ currentZone = $.Zone__current;
+ if (currentZone !== C.C__RootZone) {
+ $R._eval$1("@<0/>")._bind$1(t1._precomputed1)._eval$1("1(2)")._as(f);
+ if (onError != null)
+ onError = P._registerErrorHandler(onError, currentZone);
+ }
+ result = new P._Future($.Zone__current, $R._eval$1("_Future<0>"));
+ t2 = onError == null ? 1 : 3;
+ this._addListener$1(new P._FutureListener(result, t2, f, onError, t1._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>")));
+ return result;
+ },
+ then$1$1: function(f, $R) {
+ return this.then$1$2$onError(f, null, $R);
+ },
+ _thenAwait$1$2: function(f, onError, $E) {
+ var result,
+ t1 = this.$ti;
+ t1._bind$1($E)._eval$1("1/(2)")._as(f);
+ result = new P._Future($.Zone__current, $E._eval$1("_Future<0>"));
+ this._addListener$1(new P._FutureListener(result, 19, f, onError, t1._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>")));
+ return result;
+ },
+ whenComplete$1: function(action) {
+ var t1, result;
+ type$.dynamic_Function._as(action);
+ t1 = this.$ti;
+ result = new P._Future($.Zone__current, t1);
+ this._addListener$1(new P._FutureListener(result, 8, action, null, t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>")));
+ return result;
+ },
+ _addListener$1: function(listener) {
+ var source, _this = this,
+ t1 = _this._state;
+ if (t1 <= 1) {
+ listener._nextListener = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners);
+ _this._resultOrListeners = listener;
+ } else {
+ if (t1 === 2) {
+ source = type$._Future_dynamic._as(_this._resultOrListeners);
+ t1 = source._state;
+ if (t1 < 4) {
+ source._addListener$1(listener);
+ return;
+ }
+ _this._state = t1;
+ _this._resultOrListeners = source._resultOrListeners;
+ }
+ P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__addListener_closure(_this, listener)));
+ }
+ },
+ _prependListeners$1: function(listeners) {
+ var t1, existingListeners, next, cursor, next0, source, _this = this, _box_0 = {};
+ _box_0.listeners = listeners;
+ if (listeners == null)
+ return;
+ t1 = _this._state;
+ if (t1 <= 1) {
+ existingListeners = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners);
+ _this._resultOrListeners = listeners;
+ if (existingListeners != null) {
+ next = listeners._nextListener;
+ for (cursor = listeners; next != null; cursor = next, next = next0)
+ next0 = next._nextListener;
+ cursor._nextListener = existingListeners;
+ }
+ } else {
+ if (t1 === 2) {
+ source = type$._Future_dynamic._as(_this._resultOrListeners);
+ t1 = source._state;
+ if (t1 < 4) {
+ source._prependListeners$1(listeners);
+ return;
+ }
+ _this._state = t1;
+ _this._resultOrListeners = source._resultOrListeners;
+ }
+ _box_0.listeners = _this._reverseListeners$1(listeners);
+ P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__prependListeners_closure(_box_0, _this)));
+ }
+ },
+ _removeListeners$0: function() {
+ var current = type$.nullable__FutureListener_dynamic_dynamic._as(this._resultOrListeners);
+ this._resultOrListeners = null;
+ return this._reverseListeners$1(current);
+ },
+ _reverseListeners$1: function(listeners) {
+ var current, prev, next;
+ for (current = listeners, prev = null; current != null; prev = current, current = next) {
+ next = current._nextListener;
+ current._nextListener = prev;
+ }
+ return prev;
+ },
+ _complete$1: function(value) {
+ var listeners, _this = this,
+ t1 = _this.$ti;
+ t1._eval$1("1/")._as(value);
+ if (t1._eval$1("Future<1>")._is(value))
+ if (t1._is(value))
+ P._Future__chainCoreFuture(value, _this);
+ else
+ P._Future__chainForeignFuture(value, _this);
+ else {
+ listeners = _this._removeListeners$0();
+ t1._precomputed1._as(value);
+ _this._state = 4;
+ _this._resultOrListeners = value;
+ P._Future__propagateToListeners(_this, listeners);
+ }
+ },
+ _completeWithValue$1: function(value) {
+ var listeners, _this = this;
+ _this.$ti._precomputed1._as(value);
+ listeners = _this._removeListeners$0();
+ _this._state = 4;
+ _this._resultOrListeners = value;
+ P._Future__propagateToListeners(_this, listeners);
+ },
+ _completeError$2: function(error, stackTrace) {
+ var listeners, t1, _this = this;
+ type$.StackTrace._as(stackTrace);
+ listeners = _this._removeListeners$0();
+ t1 = P.AsyncError$(error, stackTrace);
+ _this._state = 8;
+ _this._resultOrListeners = t1;
+ P._Future__propagateToListeners(_this, listeners);
+ },
+ _asyncComplete$1: function(value) {
+ var t1 = this.$ti;
+ t1._eval$1("1/")._as(value);
+ if (t1._eval$1("Future<1>")._is(value)) {
+ this._chainFuture$1(value);
+ return;
+ }
+ this._asyncCompleteWithValue$1(t1._precomputed1._as(value));
+ },
+ _asyncCompleteWithValue$1: function(value) {
+ var _this = this;
+ _this.$ti._precomputed1._as(value);
+ _this._state = 1;
+ P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__asyncCompleteWithValue_closure(_this, value)));
+ },
+ _chainFuture$1: function(value) {
+ var _this = this,
+ t1 = _this.$ti;
+ t1._eval$1("Future<1>")._as(value);
+ if (t1._is(value)) {
+ if (value._state === 8) {
+ _this._state = 1;
+ P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__chainFuture_closure(_this, value)));
+ } else
+ P._Future__chainCoreFuture(value, _this);
+ return;
+ }
+ P._Future__chainForeignFuture(value, _this);
+ },
+ _asyncCompleteError$2: function(error, stackTrace) {
+ type$.StackTrace._as(stackTrace);
+ this._state = 1;
+ P._rootScheduleMicrotask(null, null, this._zone, type$.void_Function._as(new P._Future__asyncCompleteError_closure(this, error, stackTrace)));
+ },
+ $isFuture: 1
+ };
+ P._Future__addListener_closure.prototype = {
+ call$0: function() {
+ P._Future__propagateToListeners(this.$this, this.listener);
+ },
+ $signature: 1
+ };
+ P._Future__prependListeners_closure.prototype = {
+ call$0: function() {
+ P._Future__propagateToListeners(this.$this, this._box_0.listeners);
+ },
+ $signature: 1
+ };
+ P._Future__chainForeignFuture_closure.prototype = {
+ call$1: function(value) {
+ var t1 = this.target;
+ t1._state = 0;
+ t1._complete$1(value);
+ },
+ $signature: 11
+ };
+ P._Future__chainForeignFuture_closure0.prototype = {
+ call$2: function(error, stackTrace) {
+ type$.StackTrace._as(stackTrace);
+ this.target._completeError$2(error, stackTrace);
+ },
+ "call*": "call$2",
+ $requiredArgCount: 2,
+ $signature: 27
+ };
+ P._Future__chainForeignFuture_closure1.prototype = {
+ call$0: function() {
+ this.target._completeError$2(this.e, this.s);
+ },
+ $signature: 1
+ };
+ P._Future__asyncCompleteWithValue_closure.prototype = {
+ call$0: function() {
+ this.$this._completeWithValue$1(this.value);
+ },
+ $signature: 1
+ };
+ P._Future__chainFuture_closure.prototype = {
+ call$0: function() {
+ P._Future__chainCoreFuture(this.value, this.$this);
+ },
+ $signature: 1
+ };
+ P._Future__asyncCompleteError_closure.prototype = {
+ call$0: function() {
+ this.$this._completeError$2(this.error, this.stackTrace);
+ },
+ $signature: 1
+ };
+ P._Future__propagateToListeners_handleWhenCompleteCallback.prototype = {
+ call$0: function() {
+ var e, s, t1, exception, t2, originalSource, _this = this, completeResult = null;
+ try {
+ t1 = _this._box_0.listener;
+ completeResult = t1.result._zone.run$1$1(type$.dynamic_Function._as(t1.callback), type$.dynamic);
+ } catch (exception) {
+ e = H.unwrapException(exception);
+ s = H.getTraceFromException(exception);
+ if (_this.hasError) {
+ t1 = type$.AsyncError._as(_this._box_1.source._resultOrListeners).error;
+ t2 = e;
+ t2 = t1 == null ? t2 == null : t1 === t2;
+ t1 = t2;
+ } else
+ t1 = false;
+ t2 = _this._box_0;
+ if (t1)
+ t2.listenerValueOrError = type$.AsyncError._as(_this._box_1.source._resultOrListeners);
+ else
+ t2.listenerValueOrError = P.AsyncError$(e, s);
+ t2.listenerHasError = true;
+ return;
+ }
+ if (completeResult instanceof P._Future && completeResult._state >= 4) {
+ if (completeResult._state === 8) {
+ t1 = _this._box_0;
+ t1.listenerValueOrError = type$.AsyncError._as(completeResult._resultOrListeners);
+ t1.listenerHasError = true;
+ }
+ return;
+ }
+ if (type$.Future_dynamic._is(completeResult)) {
+ originalSource = _this._box_1.source;
+ t1 = _this._box_0;
+ t1.listenerValueOrError = completeResult.then$1$1(new P._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic);
+ t1.listenerHasError = false;
+ }
+ },
+ $signature: 0
+ };
+ P._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = {
+ call$1: function(_) {
+ return this.originalSource;
+ },
+ $signature: 28
+ };
+ P._Future__propagateToListeners_handleValueCallback.prototype = {
+ call$0: function() {
+ var e, s, t1, t2, t3, t4, t5, exception;
+ try {
+ t1 = this._box_0;
+ t2 = t1.listener;
+ t3 = t2.$ti;
+ t4 = t3._precomputed1;
+ t5 = t4._as(this.sourceResult);
+ t1.listenerValueOrError = t2.result._zone.runUnary$2$2(t3._eval$1("2/(1)")._as(t2.callback), t5, t3._eval$1("2/"), t4);
+ } catch (exception) {
+ e = H.unwrapException(exception);
+ s = H.getTraceFromException(exception);
+ t1 = this._box_0;
+ t1.listenerValueOrError = P.AsyncError$(e, s);
+ t1.listenerHasError = true;
+ }
+ },
+ $signature: 0
+ };
+ P._Future__propagateToListeners_handleError.prototype = {
+ call$0: function() {
+ var asyncError, e, s, t1, exception, t2, t3, t4, _this = this;
+ try {
+ asyncError = type$.AsyncError._as(_this._box_1.source._resultOrListeners);
+ t1 = _this._box_0;
+ if (H.boolConversionCheck(t1.listener.matchesErrorTest$1(asyncError)) && t1.listener.errorCallback != null) {
+ t1.listenerValueOrError = t1.listener.handleError$1(asyncError);
+ t1.listenerHasError = false;
+ }
+ } catch (exception) {
+ e = H.unwrapException(exception);
+ s = H.getTraceFromException(exception);
+ t1 = type$.AsyncError._as(_this._box_1.source._resultOrListeners);
+ t2 = t1.error;
+ t3 = e;
+ t4 = _this._box_0;
+ if (t2 == null ? t3 == null : t2 === t3)
+ t4.listenerValueOrError = t1;
+ else
+ t4.listenerValueOrError = P.AsyncError$(e, s);
+ t4.listenerHasError = true;
+ }
+ },
+ $signature: 0
+ };
+ P._AsyncCallbackEntry.prototype = {};
+ P.Stream.prototype = {
+ map$1: function(_, convert) {
+ var t1 = H._instanceType(this);
+ return new P._MapStream(t1._eval$1("@(Stream.T)")._as(convert), this, t1._eval$1("_MapStream<Stream.T,@>"));
+ },
+ get$length: function(_) {
+ var t1 = {},
+ future = new P._Future($.Zone__current, type$._Future_int);
+ t1.count = 0;
+ this.listen$4$cancelOnError$onDone$onError(new P.Stream_length_closure(t1, this), true, new P.Stream_length_closure0(t1, future), future.get$_completeError());
+ return future;
+ },
+ get$first: function(_) {
+ var future = new P._Future($.Zone__current, H._instanceType(this)._eval$1("_Future<Stream.T>")),
+ subscription = this.listen$4$cancelOnError$onDone$onError(null, true, new P.Stream_first_closure(future), future.get$_completeError());
+ subscription.onData$1(new P.Stream_first_closure0(this, subscription, future));
+ return future;
+ }
+ };
+ P.Stream_length_closure.prototype = {
+ call$1: function(_) {
+ H._instanceType(this.$this)._eval$1("Stream.T")._as(_);
+ ++this._box_0.count;
+ },
+ $signature: function() {
+ return H._instanceType(this.$this)._eval$1("Null(Stream.T)");
+ }
+ };
+ P.Stream_length_closure0.prototype = {
+ call$0: function() {
+ this.future._complete$1(this._box_0.count);
+ },
+ "call*": "call$0",
+ $requiredArgCount: 0,
+ $signature: 1
+ };
+ P.Stream_first_closure.prototype = {
+ call$0: function() {
+ var e, s, t1, exception, error, stackTrace;
+ try {
+ t1 = H.IterableElementError_noElement();
+ throw H.wrapException(t1);
+ } catch (exception) {
+ e = H.unwrapException(exception);
+ s = H.getTraceFromException(exception);
+ error = e;
+ stackTrace = s;
+ if (stackTrace == null)
+ stackTrace = P.AsyncError_defaultStackTrace(error);
+ this.future._completeError$2(error, stackTrace);
+ }
+ },
+ "call*": "call$0",
+ $requiredArgCount: 0,
+ $signature: 1
+ };
+ P.Stream_first_closure0.prototype = {
+ call$1: function(value) {
+ P._cancelAndValue(this.subscription, this.future, H._instanceType(this.$this)._eval$1("Stream.T")._as(value));
+ },
+ $signature: function() {
+ return H._instanceType(this.$this)._eval$1("Null(Stream.T)");
+ }
+ };
+ P.StreamSubscription.prototype = {};
+ P.StreamTransformerBase.prototype = {};
+ P.StreamController.prototype = {};
+ P._StreamController.prototype = {
+ get$_pendingEvents: function() {
+ var t1, _this = this;
+ if ((_this._state & 8) === 0)
+ return H._instanceType(_this)._eval$1("_PendingEvents<1>?")._as(_this._varData);
+ t1 = H._instanceType(_this);
+ return t1._eval$1("_PendingEvents<1>?")._as(t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$varData());
+ },
+ _ensurePendingEvents$0: function() {
+ var events, t1, _this = this;
+ if ((_this._state & 8) === 0) {
+ events = _this._varData;
+ if (events == null)
+ events = _this._varData = new P._StreamImplEvents(H._instanceType(_this)._eval$1("_StreamImplEvents<1>"));
+ return H._instanceType(_this)._eval$1("_StreamImplEvents<1>")._as(events);
+ }
+ t1 = H._instanceType(_this);
+ events = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$varData();
+ return t1._eval$1("_StreamImplEvents<1>")._as(events);
+ },
+ get$_async$_subscription: function() {
+ var varData = this._varData;
+ if ((this._state & 8) !== 0)
+ varData = type$._StreamControllerAddStreamState_nullable_Object._as(varData).get$varData();
+ return H._instanceType(this)._eval$1("_ControllerSubscription<1>")._as(varData);
+ },
+ _badEventState$0: function() {
+ if ((this._state & 4) !== 0)
+ return new P.StateError("Cannot add event after closing");
+ return new P.StateError("Cannot add event while adding a stream");
+ },
+ _ensureDoneFuture$0: function() {
+ var t1 = this._doneFuture;
+ if (t1 == null)
+ t1 = this._doneFuture = (this._state & 2) !== 0 ? $.$get$Future__nullFuture() : new P._Future($.Zone__current, type$._Future_void);
+ return t1;
+ },
+ add$1: function(_, value) {
+ var t2, _this = this,
+ t1 = H._instanceType(_this);
+ t1._precomputed1._as(value);
+ t2 = _this._state;
+ if (t2 >= 4)
+ throw H.wrapException(_this._badEventState$0());
+ if ((t2 & 1) !== 0)
+ _this._sendData$1(value);
+ else if ((t2 & 3) === 0)
+ _this._ensurePendingEvents$0().add$1(0, new P._DelayedData(value, t1._eval$1("_DelayedData<1>")));
+ },
+ close$0: function(_) {
+ var _this = this,
+ t1 = _this._state;
+ if ((t1 & 4) !== 0)
+ return _this._ensureDoneFuture$0();
+ if (t1 >= 4)
+ throw H.wrapException(_this._badEventState$0());
+ t1 = _this._state = t1 | 4;
+ if ((t1 & 1) !== 0)
+ _this._sendDone$0();
+ else if ((t1 & 3) === 0)
+ _this._ensurePendingEvents$0().add$1(0, C.C__DelayedDone);
+ return _this._ensureDoneFuture$0();
+ },
+ _subscribe$4: function(onData, onError, onDone, cancelOnError) {
+ var t2, t3, subscription, pendingEvents, addState, _this = this,
+ t1 = H._instanceType(_this);
+ t1._eval$1("~(1)?")._as(onData);
+ type$.nullable_void_Function._as(onDone);
+ if ((_this._state & 3) !== 0)
+ throw H.wrapException(P.StateError$("Stream has already been listened to."));
+ t2 = $.Zone__current;
+ t3 = cancelOnError ? 1 : 0;
+ subscription = new P._ControllerSubscription(_this, P._BufferingStreamSubscription__registerDataHandler(t2, onData, t1._precomputed1), P._BufferingStreamSubscription__registerErrorHandler(t2, onError), P._BufferingStreamSubscription__registerDoneHandler(t2, onDone), t2, t3, t1._eval$1("_ControllerSubscription<1>"));
+ pendingEvents = _this.get$_pendingEvents();
+ t3 = _this._state |= 1;
+ if ((t3 & 8) !== 0) {
+ addState = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData);
+ addState.set$varData(subscription);
+ addState.resume$0();
+ } else
+ _this._varData = subscription;
+ subscription._setPendingEvents$1(pendingEvents);
+ subscription._guardCallback$1(new P._StreamController__subscribe_closure(_this));
+ return subscription;
+ },
+ _recordCancel$1: function(subscription) {
+ var result, onCancel, cancelResult, e, s, exception, result0, _this = this,
+ t1 = H._instanceType(_this);
+ t1._eval$1("StreamSubscription<1>")._as(subscription);
+ result = null;
+ if ((_this._state & 8) !== 0)
+ result = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).cancel$0();
+ _this._varData = null;
+ _this._state = _this._state & 4294967286 | 2;
+ onCancel = _this.onCancel;
+ if (onCancel != null)
+ if (result == null)
+ try {
+ cancelResult = onCancel.call$0();
+ if (type$.Future_void._is(cancelResult))
+ result = cancelResult;
+ } catch (exception) {
+ e = H.unwrapException(exception);
+ s = H.getTraceFromException(exception);
+ result0 = new P._Future($.Zone__current, type$._Future_void);
+ result0._asyncCompleteError$2(e, s);
+ result = result0;
+ }
+ else
+ result = result.whenComplete$1(onCancel);
+ t1 = new P._StreamController__recordCancel_complete(_this);
+ if (result != null)
+ result = result.whenComplete$1(t1);
+ else
+ t1.call$0();
+ return result;
+ },
+ _recordPause$1: function(subscription) {
+ var _this = this,
+ t1 = H._instanceType(_this);
+ t1._eval$1("StreamSubscription<1>")._as(subscription);
+ if ((_this._state & 8) !== 0)
+ t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).pause$0();
+ P._runGuarded(_this.onPause);
+ },
+ _recordResume$1: function(subscription) {
+ var _this = this,
+ t1 = H._instanceType(_this);
+ t1._eval$1("StreamSubscription<1>")._as(subscription);
+ if ((_this._state & 8) !== 0)
+ t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).resume$0();
+ P._runGuarded(_this.onResume);
+ },
+ $isStreamController: 1,
+ $is_StreamControllerLifecycle: 1,
+ $is_EventSink: 1,
+ $is_EventDispatch: 1
+ };
+ P._StreamController__subscribe_closure.prototype = {
+ call$0: function() {
+ P._runGuarded(this.$this.onListen);
+ },
+ $signature: 1
+ };
+ P._StreamController__recordCancel_complete.prototype = {
+ call$0: function() {
+ var doneFuture = this.$this._doneFuture;
+ if (doneFuture != null && doneFuture._state === 0)
+ doneFuture._asyncComplete$1(null);
+ },
+ $signature: 0
+ };
+ P._AsyncStreamControllerDispatch.prototype = {
+ _sendData$1: function(data) {
+ var t1 = this.$ti;
+ t1._precomputed1._as(data);
+ this.get$_async$_subscription()._addPending$1(new P._DelayedData(data, t1._eval$1("_DelayedData<1>")));
+ },
+ _sendError$2: function(error, stackTrace) {
+ this.get$_async$_subscription()._addPending$1(new P._DelayedError(error, stackTrace));
+ },
+ _sendDone$0: function() {
+ this.get$_async$_subscription()._addPending$1(C.C__DelayedDone);
+ }
+ };
+ P._AsyncStreamController.prototype = {};
+ P._ControllerStream.prototype = {
+ get$hashCode: function(_) {
+ return (H.Primitives_objectHashCode(this._controller) ^ 892482866) >>> 0;
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ if (this === other)
+ return true;
+ return other instanceof P._ControllerStream && other._controller === this._controller;
+ }
+ };
+ P._ControllerSubscription.prototype = {
+ _onCancel$0: function() {
+ return this._controller._recordCancel$1(this);
+ },
+ _onPause$0: function() {
+ this._controller._recordPause$1(this);
+ },
+ _onResume$0: function() {
+ this._controller._recordResume$1(this);
+ }
+ };
+ P._StreamSinkWrapper.prototype = {};
+ P._BufferingStreamSubscription.prototype = {
+ _setPendingEvents$1: function(pendingEvents) {
+ var _this = this;
+ H._instanceType(_this)._eval$1("_PendingEvents<_BufferingStreamSubscription.T>?")._as(pendingEvents);
+ if (pendingEvents == null)
+ return;
+ _this.set$_pending(pendingEvents);
+ if (pendingEvents.lastPendingEvent != null) {
+ _this._state = (_this._state | 64) >>> 0;
+ pendingEvents.schedule$1(_this);
+ }
+ },
+ onData$1: function(handleData) {
+ var t1 = H._instanceType(this);
+ this.set$_async$_onData(P._BufferingStreamSubscription__registerDataHandler(this._zone, t1._eval$1("~(_BufferingStreamSubscription.T)?")._as(handleData), t1._eval$1("_BufferingStreamSubscription.T")));
+ },
+ pause$0: function() {
+ var t2, t3, _this = this,
+ t1 = _this._state;
+ if ((t1 & 8) !== 0)
+ return;
+ t2 = (t1 + 128 | 4) >>> 0;
+ _this._state = t2;
+ if (t1 < 128) {
+ t3 = _this._pending;
+ if (t3 != null)
+ if (t3._state === 1)
+ t3._state = 3;
+ }
+ if ((t1 & 4) === 0 && (t2 & 32) === 0)
+ _this._guardCallback$1(_this.get$_onPause());
+ },
+ resume$0: function() {
+ var _this = this,
+ t1 = _this._state;
+ if ((t1 & 8) !== 0)
+ return;
+ if (t1 >= 128) {
+ t1 = _this._state = t1 - 128;
+ if (t1 < 128)
+ if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent != null)
+ _this._pending.schedule$1(_this);
+ else {
+ t1 = (t1 & 4294967291) >>> 0;
+ _this._state = t1;
+ if ((t1 & 32) === 0)
+ _this._guardCallback$1(_this.get$_onResume());
+ }
+ }
+ },
+ cancel$0: function() {
+ var _this = this,
+ t1 = (_this._state & 4294967279) >>> 0;
+ _this._state = t1;
+ if ((t1 & 8) === 0)
+ _this._cancel$0();
+ t1 = _this._cancelFuture;
+ return t1 == null ? $.$get$Future__nullFuture() : t1;
+ },
+ _cancel$0: function() {
+ var t2, _this = this,
+ t1 = _this._state = (_this._state | 8) >>> 0;
+ if ((t1 & 64) !== 0) {
+ t2 = _this._pending;
+ if (t2._state === 1)
+ t2._state = 3;
+ }
+ if ((t1 & 32) === 0)
+ _this.set$_pending(null);
+ _this._cancelFuture = _this._onCancel$0();
+ },
+ _add$1: function(data) {
+ var t2, _this = this,
+ t1 = H._instanceType(_this);
+ t1._eval$1("_BufferingStreamSubscription.T")._as(data);
+ t2 = _this._state;
+ if ((t2 & 8) !== 0)
+ return;
+ if (t2 < 32)
+ _this._sendData$1(data);
+ else
+ _this._addPending$1(new P._DelayedData(data, t1._eval$1("_DelayedData<_BufferingStreamSubscription.T>")));
+ },
+ _addError$2: function(error, stackTrace) {
+ var t1 = this._state;
+ if ((t1 & 8) !== 0)
+ return;
+ if (t1 < 32)
+ this._sendError$2(error, stackTrace);
+ else
+ this._addPending$1(new P._DelayedError(error, stackTrace));
+ },
+ _close$0: function() {
+ var _this = this,
+ t1 = _this._state;
+ if ((t1 & 8) !== 0)
+ return;
+ t1 = (t1 | 2) >>> 0;
+ _this._state = t1;
+ if (t1 < 32)
+ _this._sendDone$0();
+ else
+ _this._addPending$1(C.C__DelayedDone);
+ },
+ _onPause$0: function() {
+ },
+ _onResume$0: function() {
+ },
+ _onCancel$0: function() {
+ return null;
+ },
+ _addPending$1: function($event) {
+ var _this = this,
+ t1 = H._instanceType(_this),
+ pending = t1._eval$1("_StreamImplEvents<_BufferingStreamSubscription.T>?")._as(_this._pending);
+ if (pending == null)
+ pending = new P._StreamImplEvents(t1._eval$1("_StreamImplEvents<_BufferingStreamSubscription.T>"));
+ _this.set$_pending(pending);
+ pending.add$1(0, $event);
+ t1 = _this._state;
+ if ((t1 & 64) === 0) {
+ t1 = (t1 | 64) >>> 0;
+ _this._state = t1;
+ if (t1 < 128)
+ pending.schedule$1(_this);
+ }
+ },
+ _sendData$1: function(data) {
+ var t2, _this = this,
+ t1 = H._instanceType(_this)._eval$1("_BufferingStreamSubscription.T");
+ t1._as(data);
+ t2 = _this._state;
+ _this._state = (t2 | 32) >>> 0;
+ _this._zone.runUnaryGuarded$1$2(_this._async$_onData, data, t1);
+ _this._state = (_this._state & 4294967263) >>> 0;
+ _this._checkState$1((t2 & 4) !== 0);
+ },
+ _sendError$2: function(error, stackTrace) {
+ var cancelFuture, _this = this,
+ t1 = _this._state,
+ t2 = new P._BufferingStreamSubscription__sendError_sendError(_this, error, stackTrace);
+ if ((t1 & 1) !== 0) {
+ _this._state = (t1 | 16) >>> 0;
+ _this._cancel$0();
+ cancelFuture = _this._cancelFuture;
+ if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture())
+ cancelFuture.whenComplete$1(t2);
+ else
+ t2.call$0();
+ } else {
+ t2.call$0();
+ _this._checkState$1((t1 & 4) !== 0);
+ }
+ },
+ _sendDone$0: function() {
+ var cancelFuture, _this = this,
+ t1 = new P._BufferingStreamSubscription__sendDone_sendDone(_this);
+ _this._cancel$0();
+ _this._state = (_this._state | 16) >>> 0;
+ cancelFuture = _this._cancelFuture;
+ if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture())
+ cancelFuture.whenComplete$1(t1);
+ else
+ t1.call$0();
+ },
+ _guardCallback$1: function(callback) {
+ var t1, _this = this;
+ type$.void_Function._as(callback);
+ t1 = _this._state;
+ _this._state = (t1 | 32) >>> 0;
+ callback.call$0();
+ _this._state = (_this._state & 4294967263) >>> 0;
+ _this._checkState$1((t1 & 4) !== 0);
+ },
+ _checkState$1: function(wasInputPaused) {
+ var t2, isInputPaused, _this = this,
+ t1 = _this._state;
+ if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent == null) {
+ t1 = _this._state = (t1 & 4294967231) >>> 0;
+ if ((t1 & 4) !== 0)
+ if (t1 < 128) {
+ t2 = _this._pending;
+ t2 = t2 == null ? null : t2.lastPendingEvent == null;
+ t2 = t2 !== false;
+ } else
+ t2 = false;
+ else
+ t2 = false;
+ if (t2) {
+ t1 = (t1 & 4294967291) >>> 0;
+ _this._state = t1;
+ }
+ }
+ for (; true; wasInputPaused = isInputPaused) {
+ if ((t1 & 8) !== 0) {
+ _this.set$_pending(null);
+ return;
+ }
+ isInputPaused = (t1 & 4) !== 0;
+ if (wasInputPaused === isInputPaused)
+ break;
+ _this._state = (t1 ^ 32) >>> 0;
+ if (isInputPaused)
+ _this._onPause$0();
+ else
+ _this._onResume$0();
+ t1 = (_this._state & 4294967263) >>> 0;
+ _this._state = t1;
+ }
+ if ((t1 & 64) !== 0 && t1 < 128)
+ _this._pending.schedule$1(_this);
+ },
+ set$_async$_onData: function(_onData) {
+ this._async$_onData = H._instanceType(this)._eval$1("~(_BufferingStreamSubscription.T)")._as(_onData);
+ },
+ set$_pending: function(_pending) {
+ this._pending = H._instanceType(this)._eval$1("_PendingEvents<_BufferingStreamSubscription.T>?")._as(_pending);
+ },
+ $isStreamSubscription: 1,
+ $is_EventSink: 1,
+ $is_EventDispatch: 1
+ };
+ P._BufferingStreamSubscription__sendError_sendError.prototype = {
+ call$0: function() {
+ var onError, t3, t4,
+ t1 = this.$this,
+ t2 = t1._state;
+ if ((t2 & 8) !== 0 && (t2 & 16) === 0)
+ return;
+ t1._state = (t2 | 32) >>> 0;
+ onError = t1._onError;
+ t2 = this.error;
+ t3 = type$.Object;
+ t4 = t1._zone;
+ if (type$.void_Function_Object_StackTrace._is(onError))
+ t4.runBinaryGuarded$2$3(onError, t2, this.stackTrace, t3, type$.StackTrace);
+ else
+ t4.runUnaryGuarded$1$2(type$.void_Function_Object._as(onError), t2, t3);
+ t1._state = (t1._state & 4294967263) >>> 0;
+ },
+ $signature: 0
+ };
+ P._BufferingStreamSubscription__sendDone_sendDone.prototype = {
+ call$0: function() {
+ var t1 = this.$this,
+ t2 = t1._state;
+ if ((t2 & 16) === 0)
+ return;
+ t1._state = (t2 | 42) >>> 0;
+ t1._zone.runGuarded$1(t1._onDone);
+ t1._state = (t1._state & 4294967263) >>> 0;
+ },
+ $signature: 0
+ };
+ P._StreamImpl.prototype = {
+ listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
+ var t1 = H._instanceType(this);
+ t1._eval$1("~(1)?")._as(onData);
+ type$.nullable_void_Function._as(onDone);
+ return this._controller._subscribe$4(t1._eval$1("~(1)?")._as(onData), onError, onDone, cancelOnError === true);
+ },
+ listen$2$onDone: function(onData, onDone) {
+ return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null);
+ },
+ listen$3$onDone$onError: function(onData, onDone, onError) {
+ return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
+ }
+ };
+ P._DelayedEvent.prototype = {
+ set$next: function(next) {
+ this.next = type$.nullable__DelayedEvent_dynamic._as(next);
+ },
+ get$next: function() {
+ return this.next;
+ }
+ };
+ P._DelayedData.prototype = {
+ perform$1: function(dispatch) {
+ this.$ti._eval$1("_EventDispatch<1>")._as(dispatch)._sendData$1(this.value);
+ }
+ };
+ P._DelayedError.prototype = {
+ perform$1: function(dispatch) {
+ dispatch._sendError$2(this.error, this.stackTrace);
+ }
+ };
+ P._DelayedDone.prototype = {
+ perform$1: function(dispatch) {
+ dispatch._sendDone$0();
+ },
+ get$next: function() {
+ return null;
+ },
+ set$next: function(_) {
+ throw H.wrapException(P.StateError$("No events after a done."));
+ },
+ $is_DelayedEvent: 1
+ };
+ P._PendingEvents.prototype = {
+ schedule$1: function(dispatch) {
+ var t1, _this = this;
+ _this.$ti._eval$1("_EventDispatch<1>")._as(dispatch);
+ t1 = _this._state;
+ if (t1 === 1)
+ return;
+ if (t1 >= 1) {
+ _this._state = 1;
+ return;
+ }
+ P.scheduleMicrotask(new P._PendingEvents_schedule_closure(_this, dispatch));
+ _this._state = 1;
+ }
+ };
+ P._PendingEvents_schedule_closure.prototype = {
+ call$0: function() {
+ var t2, $event, nextEvent,
+ t1 = this.$this,
+ oldState = t1._state;
+ t1._state = 0;
+ if (oldState === 3)
+ return;
+ t2 = t1.$ti._eval$1("_EventDispatch<1>")._as(this.dispatch);
+ $event = t1.firstPendingEvent;
+ nextEvent = $event.get$next();
+ t1.firstPendingEvent = nextEvent;
+ if (nextEvent == null)
+ t1.lastPendingEvent = null;
+ $event.perform$1(t2);
+ },
+ $signature: 1
+ };
+ P._StreamImplEvents.prototype = {
+ add$1: function(_, $event) {
+ var _this = this,
+ lastEvent = _this.lastPendingEvent;
+ if (lastEvent == null)
+ _this.firstPendingEvent = _this.lastPendingEvent = $event;
+ else {
+ lastEvent.set$next($event);
+ _this.lastPendingEvent = $event;
+ }
+ }
+ };
+ P._DoneStreamSubscription.prototype = {
+ _schedule$0: function() {
+ var _this = this;
+ if ((_this._state & 2) !== 0)
+ return;
+ P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(_this.get$_sendDone()));
+ _this._state = (_this._state | 2) >>> 0;
+ },
+ onData$1: function(handleData) {
+ this.$ti._eval$1("~(1)?")._as(handleData);
+ },
+ pause$0: function() {
+ this._state += 4;
+ },
+ resume$0: function() {
+ var t1 = this._state;
+ if (t1 >= 4) {
+ t1 = this._state = t1 - 4;
+ if (t1 < 4 && (t1 & 1) === 0)
+ this._schedule$0();
+ }
+ },
+ cancel$0: function() {
+ return $.$get$Future__nullFuture();
+ },
+ _sendDone$0: function() {
+ var _this = this,
+ t1 = _this._state = (_this._state & 4294967293) >>> 0;
+ if (t1 >= 4)
+ return;
+ _this._state = (t1 | 1) >>> 0;
+ _this._zone.runGuarded$1(_this._onDone);
+ },
+ $isStreamSubscription: 1
+ };
+ P._StreamIterator.prototype = {
+ get$current: function() {
+ var _this = this;
+ if (_this._async$_subscription != null && _this._isPaused)
+ return _this.$ti._precomputed1._as(_this._stateData);
+ return _this.$ti._precomputed1._as(null);
+ },
+ moveNext$0: function() {
+ var future, _this = this,
+ subscription = _this._async$_subscription;
+ if (subscription != null) {
+ if (_this._isPaused) {
+ future = new P._Future($.Zone__current, type$._Future_bool);
+ _this._stateData = future;
+ _this._isPaused = false;
+ subscription.resume$0();
+ return future;
+ }
+ throw H.wrapException(P.StateError$("Already waiting for next."));
+ }
+ return _this._initializeOrDone$0();
+ },
+ _initializeOrDone$0: function() {
+ var _this = this,
+ stateData = _this._stateData;
+ if (stateData != null) {
+ _this.set$_async$_subscription(_this.$ti._eval$1("Stream<1>")._as(stateData).listen$4$cancelOnError$onDone$onError(_this.get$_async$_onData(), true, _this.get$_onDone(), _this.get$_onError()));
+ return _this._stateData = new P._Future($.Zone__current, type$._Future_bool);
+ }
+ return $.$get$Future__falseFuture();
+ },
+ cancel$0: function() {
+ var _this = this,
+ subscription = _this._async$_subscription,
+ stateData = _this._stateData;
+ _this._stateData = null;
+ if (subscription != null) {
+ _this.set$_async$_subscription(null);
+ if (!_this._isPaused)
+ type$._Future_bool._as(stateData)._asyncComplete$1(false);
+ return subscription.cancel$0();
+ }
+ return $.$get$Future__nullFuture();
+ },
+ _async$_onData$1: function(data) {
+ var moveNextFuture, t1, _this = this;
+ _this.$ti._precomputed1._as(data);
+ moveNextFuture = type$._Future_bool._as(_this._stateData);
+ _this._stateData = data;
+ _this._isPaused = true;
+ moveNextFuture._complete$1(true);
+ if (_this._isPaused) {
+ t1 = _this._async$_subscription;
+ if (t1 != null)
+ t1.pause$0();
+ }
+ },
+ _onError$2: function(error, stackTrace) {
+ var moveNextFuture;
+ type$.StackTrace._as(stackTrace);
+ moveNextFuture = type$._Future_bool._as(this._stateData);
+ this.set$_async$_subscription(null);
+ this._stateData = null;
+ moveNextFuture._completeError$2(error, stackTrace);
+ },
+ _onDone$0: function() {
+ var moveNextFuture = type$._Future_bool._as(this._stateData);
+ this.set$_async$_subscription(null);
+ this._stateData = null;
+ moveNextFuture._complete$1(false);
+ },
+ set$_async$_subscription: function(_subscription) {
+ this._async$_subscription = this.$ti._eval$1("StreamSubscription<1>?")._as(_subscription);
+ }
+ };
+ P._cancelAndValue_closure.prototype = {
+ call$0: function() {
+ return this.future._complete$1(this.value);
+ },
+ $signature: 0
+ };
+ P._ForwardingStream.prototype = {
+ listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
+ var t2, t3, t4, t5, t6,
+ t1 = this.$ti;
+ t1._eval$1("~(2)?")._as(onData);
+ type$.nullable_void_Function._as(onDone);
+ t2 = t1._rest[1];
+ t3 = $.Zone__current;
+ t4 = cancelOnError === true ? 1 : 0;
+ t5 = P._BufferingStreamSubscription__registerDataHandler(t3, onData, t2);
+ t6 = P._BufferingStreamSubscription__registerErrorHandler(t3, onError);
+ t1 = new P._ForwardingStreamSubscription(this, t5, t6, type$.void_Function._as(onDone), t3, t4, t1._eval$1("@<1>")._bind$1(t2)._eval$1("_ForwardingStreamSubscription<1,2>"));
+ t1.set$_async$_subscription(this._async$_source.listen$3$onDone$onError(t1.get$_handleData(), t1.get$_handleDone(), t1.get$_handleError()));
+ return t1;
+ },
+ listen$3$onDone$onError: function(onData, onDone, onError) {
+ return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
+ }
+ };
+ P._ForwardingStreamSubscription.prototype = {
+ _add$1: function(data) {
+ this.$ti._rest[1]._as(data);
+ if ((this._state & 2) !== 0)
+ return;
+ this.super$_BufferingStreamSubscription$_add(data);
+ },
+ _addError$2: function(error, stackTrace) {
+ if ((this._state & 2) !== 0)
+ return;
+ this.super$_BufferingStreamSubscription$_addError(error, stackTrace);
+ },
+ _onPause$0: function() {
+ var t1 = this._async$_subscription;
+ if (t1 != null)
+ t1.pause$0();
+ },
+ _onResume$0: function() {
+ var t1 = this._async$_subscription;
+ if (t1 != null)
+ t1.resume$0();
+ },
+ _onCancel$0: function() {
+ var subscription = this._async$_subscription;
+ if (subscription != null) {
+ this.set$_async$_subscription(null);
+ return subscription.cancel$0();
+ }
+ return null;
+ },
+ _handleData$1: function(data) {
+ this._stream._handleData$2(this.$ti._precomputed1._as(data), this);
+ },
+ _handleError$2: function(error, stackTrace) {
+ type$.StackTrace._as(stackTrace);
+ this._stream.$ti._eval$1("_EventSink<2>")._as(this)._addError$2(error, stackTrace);
+ },
+ _handleDone$0: function() {
+ this._stream.$ti._eval$1("_EventSink<2>")._as(this)._close$0();
+ },
+ set$_async$_subscription: function(_subscription) {
+ this._async$_subscription = this.$ti._eval$1("StreamSubscription<1>?")._as(_subscription);
+ }
+ };
+ P._MapStream.prototype = {
+ _handleData$2: function(inputEvent, sink) {
+ var outputEvent, e, s, exception,
+ t1 = this.$ti;
+ t1._precomputed1._as(inputEvent);
+ t1._eval$1("_EventSink<2>")._as(sink);
+ outputEvent = null;
+ try {
+ outputEvent = this._transform.call$1(inputEvent);
+ } catch (exception) {
+ e = H.unwrapException(exception);
+ s = H.getTraceFromException(exception);
+ sink._addError$2(e, s);
+ return;
+ }
+ sink._add$1(outputEvent);
+ }
+ };
+ P.AsyncError.prototype = {
+ toString$0: function(_) {
+ return H.S(this.error);
+ },
+ $isError0: 1,
+ get$stackTrace: function() {
+ return this.stackTrace;
+ }
+ };
+ P._Zone.prototype = {$isZone: 1};
+ P._rootHandleUncaughtError_closure.prototype = {
+ call$0: function() {
+ var error = H.wrapException(this.error);
+ error.stack = J.toString$0$(this.stackTrace);
+ throw error;
+ },
+ $signature: 1
+ };
+ P._RootZone.prototype = {
+ runGuarded$1: function(f) {
+ var e, s, exception, _null = null;
+ type$.void_Function._as(f);
+ try {
+ if (C.C__RootZone === $.Zone__current) {
+ f.call$0();
+ return;
+ }
+ P._rootRun(_null, _null, this, f, type$.void);
+ } catch (exception) {
+ e = H.unwrapException(exception);
+ s = H.getTraceFromException(exception);
+ P._rootHandleUncaughtError(_null, _null, this, e, type$.StackTrace._as(s));
+ }
+ },
+ runUnaryGuarded$1$2: function(f, arg, $T) {
+ var e, s, exception, _null = null;
+ $T._eval$1("~(0)")._as(f);
+ $T._as(arg);
+ try {
+ if (C.C__RootZone === $.Zone__current) {
+ f.call$1(arg);
+ return;
+ }
+ P._rootRunUnary(_null, _null, this, f, arg, type$.void, $T);
+ } catch (exception) {
+ e = H.unwrapException(exception);
+ s = H.getTraceFromException(exception);
+ P._rootHandleUncaughtError(_null, _null, this, e, type$.StackTrace._as(s));
+ }
+ },
+ runBinaryGuarded$2$3: function(f, arg1, arg2, T1, T2) {
+ var e, s, exception, _null = null;
+ T1._eval$1("@<0>")._bind$1(T2)._eval$1("~(1,2)")._as(f);
+ T1._as(arg1);
+ T2._as(arg2);
+ try {
+ if (C.C__RootZone === $.Zone__current) {
+ f.call$2(arg1, arg2);
+ return;
+ }
+ P._rootRunBinary(_null, _null, this, f, arg1, arg2, type$.void, T1, T2);
+ } catch (exception) {
+ e = H.unwrapException(exception);
+ s = H.getTraceFromException(exception);
+ P._rootHandleUncaughtError(_null, _null, this, e, type$.StackTrace._as(s));
+ }
+ },
+ bindCallback$1$1: function(f, $R) {
+ return new P._RootZone_bindCallback_closure(this, $R._eval$1("0()")._as(f), $R);
+ },
+ bindCallbackGuarded$1: function(f) {
+ return new P._RootZone_bindCallbackGuarded_closure(this, type$.void_Function._as(f));
+ },
+ bindUnaryCallbackGuarded$1$1: function(f, $T) {
+ return new P._RootZone_bindUnaryCallbackGuarded_closure(this, $T._eval$1("~(0)")._as(f), $T);
+ },
+ $index: function(_, key) {
+ return null;
+ },
+ run$1$1: function(f, $R) {
+ $R._eval$1("0()")._as(f);
+ if ($.Zone__current === C.C__RootZone)
+ return f.call$0();
+ return P._rootRun(null, null, this, f, $R);
+ },
+ runUnary$2$2: function(f, arg, $R, $T) {
+ $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f);
+ $T._as(arg);
+ if ($.Zone__current === C.C__RootZone)
+ return f.call$1(arg);
+ return P._rootRunUnary(null, null, this, f, arg, $R, $T);
+ },
+ runBinary$3$3: function(f, arg1, arg2, $R, T1, T2) {
+ $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f);
+ T1._as(arg1);
+ T2._as(arg2);
+ if ($.Zone__current === C.C__RootZone)
+ return f.call$2(arg1, arg2);
+ return P._rootRunBinary(null, null, this, f, arg1, arg2, $R, T1, T2);
+ },
+ registerBinaryCallback$3$1: function(f, $R, T1, T2) {
+ return $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f);
+ }
+ };
+ P._RootZone_bindCallback_closure.prototype = {
+ call$0: function() {
+ return this.$this.run$1$1(this.f, this.R);
+ },
+ $signature: function() {
+ return this.R._eval$1("0()");
+ }
+ };
+ P._RootZone_bindCallbackGuarded_closure.prototype = {
+ call$0: function() {
+ return this.$this.runGuarded$1(this.f);
+ },
+ $signature: 0
+ };
+ P._RootZone_bindUnaryCallbackGuarded_closure.prototype = {
+ call$1: function(arg) {
+ var t1 = this.T;
+ return this.$this.runUnaryGuarded$1$2(this.f, t1._as(arg), t1);
+ },
+ $signature: function() {
+ return this.T._eval$1("~(0)");
+ }
+ };
+ P._LinkedHashSet.prototype = {
+ get$iterator: function(_) {
+ var _this = this,
+ t1 = new P._LinkedHashSetIterator(_this, _this._collection$_modifications, H._instanceType(_this)._eval$1("_LinkedHashSetIterator<1>"));
+ t1._collection$_cell = _this._collection$_first;
+ return t1;
+ },
+ get$length: function(_) {
+ return this._collection$_length;
+ },
+ add$1: function(_, element) {
+ var strings, nums, _this = this;
+ H._instanceType(_this)._precomputed1._as(element);
+ if (typeof element == "string" && element !== "__proto__") {
+ strings = _this._collection$_strings;
+ return _this._collection$_addHashTableEntry$2(strings == null ? _this._collection$_strings = P._LinkedHashSet__newHashTable() : strings, element);
+ } else if (typeof element == "number" && (element & 1073741823) === element) {
+ nums = _this._collection$_nums;
+ return _this._collection$_addHashTableEntry$2(nums == null ? _this._collection$_nums = P._LinkedHashSet__newHashTable() : nums, element);
+ } else
+ return _this._collection$_add$1(element);
+ },
+ _collection$_add$1: function(element) {
+ var rest, hash, bucket, _this = this;
+ H._instanceType(_this)._precomputed1._as(element);
+ rest = _this._collection$_rest;
+ if (rest == null)
+ rest = _this._collection$_rest = P._LinkedHashSet__newHashTable();
+ hash = _this._computeHashCode$1(element);
+ bucket = rest[hash];
+ if (bucket == null)
+ rest[hash] = [_this._collection$_newLinkedCell$1(element)];
+ else {
+ if (_this._findBucketIndex$2(bucket, element) >= 0)
+ return false;
+ bucket.push(_this._collection$_newLinkedCell$1(element));
+ }
+ return true;
+ },
+ _collection$_addHashTableEntry$2: function(table, element) {
+ H._instanceType(this)._precomputed1._as(element);
+ if (type$.nullable__LinkedHashSetCell._as(table[element]) != null)
+ return false;
+ table[element] = this._collection$_newLinkedCell$1(element);
+ return true;
+ },
+ _collection$_newLinkedCell$1: function(element) {
+ var _this = this,
+ cell = new P._LinkedHashSetCell(H._instanceType(_this)._precomputed1._as(element));
+ if (_this._collection$_first == null)
+ _this._collection$_first = _this._collection$_last = cell;
+ else
+ _this._collection$_last = _this._collection$_last._collection$_next = cell;
+ ++_this._collection$_length;
+ _this._collection$_modifications = 1073741823 & _this._collection$_modifications + 1;
+ return cell;
+ },
+ _computeHashCode$1: function(element) {
+ return J.get$hashCode$(element) & 1073741823;
+ },
+ _findBucketIndex$2: function(bucket, element) {
+ var $length, i;
+ if (bucket == null)
+ return -1;
+ $length = bucket.length;
+ for (i = 0; i < $length; ++i)
+ if (J.$eq$(bucket[i]._element, element))
+ return i;
+ return -1;
+ }
+ };
+ P._LinkedHashSetCell.prototype = {};
+ P._LinkedHashSetIterator.prototype = {
+ get$current: function() {
+ return this._collection$_current;
+ },
+ moveNext$0: function() {
+ var _this = this,
+ cell = _this._collection$_cell,
+ t1 = _this._set;
+ if (_this._collection$_modifications !== t1._collection$_modifications)
+ throw H.wrapException(P.ConcurrentModificationError$(t1));
+ else if (cell == null) {
+ _this.set$_collection$_current(null);
+ return false;
+ } else {
+ _this.set$_collection$_current(_this.$ti._eval$1("1?")._as(cell._element));
+ _this._collection$_cell = cell._collection$_next;
+ return true;
+ }
+ },
+ set$_collection$_current: function(_current) {
+ this._collection$_current = this.$ti._eval$1("1?")._as(_current);
+ },
+ $isIterator: 1
+ };
+ P.ListMixin.prototype = {
+ get$iterator: function(receiver) {
+ return new H.ListIterator(receiver, this.get$length(receiver), H.instanceType(receiver)._eval$1("ListIterator<ListMixin.E>"));
+ },
+ elementAt$1: function(receiver, index) {
+ return this.$index(receiver, index);
+ },
+ get$isNotEmpty: function(receiver) {
+ return this.get$length(receiver) !== 0;
+ },
+ map$1$1: function(receiver, f, $T) {
+ var t1 = H.instanceType(receiver);
+ return new H.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(ListMixin.E)")._as(f), t1._eval$1("@<ListMixin.E>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
+ },
+ map$1: function($receiver, f) {
+ return this.map$1$1($receiver, f, type$.dynamic);
+ },
+ toList$1$growable: function(receiver, growable) {
+ var t1, first, result, i, _this = this;
+ if (_this.get$length(receiver) === 0) {
+ t1 = J.JSArray_JSArray$growable(0, H.instanceType(receiver)._eval$1("ListMixin.E"));
+ return t1;
+ }
+ first = _this.$index(receiver, 0);
+ result = P.List_List$filled(_this.get$length(receiver), first, true, H.instanceType(receiver)._eval$1("ListMixin.E"));
+ for (i = 1; i < _this.get$length(receiver); ++i)
+ C.JSArray_methods.$indexSet(result, i, _this.$index(receiver, i));
+ return result;
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ $add: function(receiver, other) {
+ var t2, cur,
+ t1 = H.instanceType(receiver);
+ t1._eval$1("List<ListMixin.E>")._as(other);
+ t2 = H.setRuntimeTypeInfo([], t1._eval$1("JSArray<ListMixin.E>"));
+ for (t1 = new H.ListIterator(receiver, this.get$length(receiver), t1._eval$1("ListIterator<ListMixin.E>")); t1.moveNext$0();) {
+ cur = t1._current;
+ C.JSArray_methods.add$1(t2, cur);
+ }
+ for (t1 = other.get$iterator(other); t1.moveNext$0();)
+ C.JSArray_methods.add$1(t2, t1.get$current());
+ return t2;
+ },
+ toString$0: function(receiver) {
+ return P.IterableBase_iterableToFullString(receiver, "[", "]");
+ }
+ };
+ P.MapBase.prototype = {};
+ P.MapBase_mapToString_closure.prototype = {
+ call$2: function(k, v) {
+ var t2,
+ t1 = this._box_0;
+ if (!t1.first)
+ this.result._contents += ", ";
+ t1.first = false;
+ t1 = this.result;
+ t2 = t1._contents += H.S(k);
+ t1._contents = t2 + ": ";
+ t1._contents += H.S(v);
+ },
+ $signature: 13
+ };
+ P.MapMixin.prototype = {
+ forEach$1: function(_, action) {
+ var t1, key;
+ H._instanceType(this)._eval$1("~(MapMixin.K,MapMixin.V)")._as(action);
+ for (t1 = this.get$keys(), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
+ key = t1.get$current();
+ action.call$2(key, this.$index(0, key));
+ }
+ },
+ map$2$1: function(_, transform, K2, V2) {
+ var result, t1, key, entry;
+ H._instanceType(this)._bind$1(K2)._bind$1(V2)._eval$1("MapEntry<1,2>(MapMixin.K,MapMixin.V)")._as(transform);
+ result = P.LinkedHashMap_LinkedHashMap$_empty(K2, V2);
+ for (t1 = this.get$keys(), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
+ key = t1.get$current();
+ entry = transform.call$2(key, this.$index(0, key));
+ result.$indexSet(0, C.JSNull_methods.get$key(entry), entry.get$value());
+ }
+ return result;
+ },
+ map$1: function($receiver, transform) {
+ return this.map$2$1($receiver, transform, type$.dynamic, type$.dynamic);
+ },
+ containsKey$1: function(key) {
+ return this.get$keys().contains$1(0, key);
+ },
+ get$length: function(_) {
+ var t1 = this.get$keys();
+ return t1.get$length(t1);
+ },
+ get$isEmpty: function(_) {
+ var t1 = this.get$keys();
+ return t1.get$isEmpty(t1);
+ },
+ toString$0: function(_) {
+ return P.MapBase_mapToString(this);
+ },
+ $isMap: 1
+ };
+ P._UnmodifiableMapMixin.prototype = {
+ $indexSet: function(_, key, value) {
+ var t1 = H._instanceType(this);
+ t1._precomputed1._as(key);
+ t1._rest[1]._as(value);
+ throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
+ }
+ };
+ P.MapView.prototype = {
+ $index: function(_, key) {
+ return this._collection$_map.$index(0, key);
+ },
+ $indexSet: function(_, key, value) {
+ var t1 = H._instanceType(this);
+ this._collection$_map.$indexSet(0, t1._precomputed1._as(key), t1._rest[1]._as(value));
+ },
+ containsKey$1: function(key) {
+ return this._collection$_map.containsKey$1(key);
+ },
+ forEach$1: function(_, action) {
+ this._collection$_map.forEach$1(0, H._instanceType(this)._eval$1("~(1,2)")._as(action));
+ },
+ get$isEmpty: function(_) {
+ var t1 = this._collection$_map;
+ return t1.get$isEmpty(t1);
+ },
+ get$length: function(_) {
+ var t1 = this._collection$_map;
+ return t1.get$length(t1);
+ },
+ get$keys: function() {
+ return this._collection$_map.get$keys();
+ },
+ toString$0: function(_) {
+ return P.MapBase_mapToString(this._collection$_map);
+ },
+ map$2$1: function(_, transform, K2, V2) {
+ return this._collection$_map.map$2$1(0, H._instanceType(this)._bind$1(K2)._bind$1(V2)._eval$1("MapEntry<1,2>(3,4)")._as(transform), K2, V2);
+ },
+ map$1: function($receiver, transform) {
+ return this.map$2$1($receiver, transform, type$.dynamic, type$.dynamic);
+ },
+ $isMap: 1
+ };
+ P.UnmodifiableMapView.prototype = {};
+ P.ListQueue.prototype = {
+ get$iterator: function(_) {
+ var _this = this;
+ return new P._ListQueueIterator(_this, _this._tail, _this._modificationCount, _this._head, _this.$ti._eval$1("_ListQueueIterator<1>"));
+ },
+ get$isEmpty: function(_) {
+ return this._head === this._tail;
+ },
+ get$length: function(_) {
+ return (this._tail - this._head & this._collection$_table.length - 1) >>> 0;
+ },
+ elementAt$1: function(_, index) {
+ var t1, t2, t3, _this = this,
+ $length = _this.get$length(_this);
+ if (0 > index || index >= $length)
+ H.throwExpression(P.IndexError$(index, _this, "index", null, $length));
+ t1 = _this._collection$_table;
+ t2 = t1.length;
+ t3 = (_this._head + index & t2 - 1) >>> 0;
+ if (t3 < 0 || t3 >= t2)
+ return H.ioore(t1, t3);
+ return t1[t3];
+ },
+ toString$0: function(_) {
+ return P.IterableBase_iterableToFullString(this, "{", "}");
+ },
+ set$_collection$_table: function(_table) {
+ this._collection$_table = this.$ti._eval$1("List<1?>")._as(_table);
+ },
+ $isQueue: 1
+ };
+ P._ListQueueIterator.prototype = {
+ get$current: function() {
+ var cur = this._collection$_current;
+ return cur;
+ },
+ moveNext$0: function() {
+ var t2, t3, _this = this,
+ t1 = _this._queue;
+ if (_this._modificationCount !== t1._modificationCount)
+ H.throwExpression(P.ConcurrentModificationError$(t1));
+ t2 = _this._position;
+ if (t2 === _this._end) {
+ _this.set$_collection$_current(null);
+ return false;
+ }
+ t3 = t1._collection$_table;
+ if (t2 >= t3.length)
+ return H.ioore(t3, t2);
+ _this.set$_collection$_current(t3[t2]);
+ _this._position = (_this._position + 1 & t1._collection$_table.length - 1) >>> 0;
+ return true;
+ },
+ set$_collection$_current: function(_current) {
+ this._collection$_current = this.$ti._eval$1("1?")._as(_current);
+ },
+ $isIterator: 1
+ };
+ P._SetBase.prototype = {
+ map$1: function(_, f) {
+ var t1 = H._instanceType(this);
+ return new H.EfficientLengthMappedIterable(this, t1._eval$1("@(1)")._as(f), t1._eval$1("EfficientLengthMappedIterable<1,@>"));
+ },
+ toString$0: function(_) {
+ return P.IterableBase_iterableToFullString(this, "{", "}");
+ },
+ $isEfficientLengthIterable: 1,
+ $isIterable: 1
+ };
+ P._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {};
+ P._JsonMap.prototype = {
+ $index: function(_, key) {
+ var result,
+ t1 = this._processed;
+ if (t1 == null)
+ return this._data.$index(0, key);
+ else if (typeof key != "string")
+ return null;
+ else {
+ result = t1[key];
+ return typeof result == "undefined" ? this._process$1(key) : result;
+ }
+ },
+ get$length: function(_) {
+ var t1;
+ if (this._processed == null) {
+ t1 = this._data;
+ t1 = t1.get$length(t1);
+ } else
+ t1 = this._computeKeys$0().length;
+ return t1;
+ },
+ get$isEmpty: function(_) {
+ return this.get$length(this) === 0;
+ },
+ get$keys: function() {
+ if (this._processed == null)
+ return this._data.get$keys();
+ return new P._JsonMapKeyIterable(this);
+ },
+ $indexSet: function(_, key, value) {
+ var processed, original, _this = this;
+ if (_this._processed == null)
+ _this._data.$indexSet(0, key, value);
+ else if (_this.containsKey$1(key)) {
+ processed = _this._processed;
+ processed[key] = value;
+ original = _this._original;
+ if (original == null ? processed != null : original !== processed)
+ original[key] = null;
+ } else
+ _this._upgrade$0().$indexSet(0, key, value);
+ },
+ containsKey$1: function(key) {
+ if (this._processed == null)
+ return this._data.containsKey$1(key);
+ return Object.prototype.hasOwnProperty.call(this._original, key);
+ },
+ forEach$1: function(_, f) {
+ var keys, i, key, value, _this = this;
+ type$.void_Function_String_dynamic._as(f);
+ if (_this._processed == null)
+ return _this._data.forEach$1(0, f);
+ keys = _this._computeKeys$0();
+ for (i = 0; i < keys.length; ++i) {
+ key = keys[i];
+ value = _this._processed[key];
+ if (typeof value == "undefined") {
+ value = P._convertJsonToDartLazy(_this._original[key]);
+ _this._processed[key] = value;
+ }
+ f.call$2(key, value);
+ if (keys !== _this._data)
+ throw H.wrapException(P.ConcurrentModificationError$(_this));
+ }
+ },
+ _computeKeys$0: function() {
+ var keys = type$.nullable_List_dynamic._as(this._data);
+ if (keys == null)
+ keys = this._data = H.setRuntimeTypeInfo(Object.keys(this._original), type$.JSArray_String);
+ return keys;
+ },
+ _upgrade$0: function() {
+ var result, keys, i, t1, key, _this = this;
+ if (_this._processed == null)
+ return _this._data;
+ result = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
+ keys = _this._computeKeys$0();
+ for (i = 0; t1 = keys.length, i < t1; ++i) {
+ key = keys[i];
+ result.$indexSet(0, key, _this.$index(0, key));
+ }
+ if (t1 === 0)
+ C.JSArray_methods.add$1(keys, "");
+ else
+ C.JSArray_methods.set$length(keys, 0);
+ _this._original = _this._processed = null;
+ return _this._data = result;
+ },
+ _process$1: function(key) {
+ var result;
+ if (!Object.prototype.hasOwnProperty.call(this._original, key))
+ return null;
+ result = P._convertJsonToDartLazy(this._original[key]);
+ return this._processed[key] = result;
+ }
+ };
+ P._JsonMapKeyIterable.prototype = {
+ get$length: function(_) {
+ var t1 = this._parent;
+ return t1.get$length(t1);
+ },
+ elementAt$1: function(_, index) {
+ var t1 = this._parent;
+ if (t1._processed == null)
+ t1 = t1.get$keys().elementAt$1(0, index);
+ else {
+ t1 = t1._computeKeys$0();
+ if (index < 0 || index >= t1.length)
+ return H.ioore(t1, index);
+ t1 = t1[index];
+ }
+ return t1;
+ },
+ get$iterator: function(_) {
+ var t1 = this._parent;
+ if (t1._processed == null) {
+ t1 = t1.get$keys();
+ t1 = t1.get$iterator(t1);
+ } else {
+ t1 = t1._computeKeys$0();
+ t1 = new J.ArrayIterator(t1, t1.length, H._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
+ }
+ return t1;
+ },
+ contains$1: function(_, key) {
+ return this._parent.containsKey$1(key);
+ }
+ };
+ P.Utf8Decoder_closure.prototype = {
+ call$0: function() {
+ var t1, exception;
+ try {
+ t1 = new TextDecoder("utf-8", {fatal: true});
+ return t1;
+ } catch (exception) {
+ H.unwrapException(exception);
+ }
+ return null;
+ },
+ $signature: 14
+ };
+ P.Utf8Decoder_closure0.prototype = {
+ call$0: function() {
+ var t1, exception;
+ try {
+ t1 = new TextDecoder("utf-8", {fatal: false});
+ return t1;
+ } catch (exception) {
+ H.unwrapException(exception);
+ }
+ return null;
+ },
+ $signature: 14
+ };
+ P.Codec.prototype = {};
+ P.Converter.prototype = {};
+ P.JsonUnsupportedObjectError.prototype = {
+ toString$0: function(_) {
+ var safeString = P.Error_safeToString(this.unsupportedObject);
+ return (this.cause != null ? "Converting object to an encodable object failed:" : "Converting object did not return an encodable object:") + " " + safeString;
+ }
+ };
+ P.JsonCyclicError.prototype = {
+ toString$0: function(_) {
+ return "Cyclic error in JSON stringify";
+ }
+ };
+ P.JsonCodec.prototype = {
+ decode$2$reviver: function(source, reviver) {
+ var t1;
+ type$.nullable_nullable_Object_Function_2_nullable_Object_and_nullable_Object._as(reviver);
+ t1 = P._parseJson(source, this.get$decoder()._reviver);
+ return t1;
+ },
+ encode$2$toEncodable: function(value, toEncodable) {
+ var t1;
+ type$.nullable_nullable_Object_Function_dynamic._as(toEncodable);
+ t1 = P._JsonStringStringifier_stringify(value, this.get$encoder()._toEncodable, null);
+ return t1;
+ },
+ encode$1: function(value) {
+ return this.encode$2$toEncodable(value, null);
+ },
+ get$encoder: function() {
+ return C.JsonEncoder_null;
+ },
+ get$decoder: function() {
+ return C.JsonDecoder_null;
+ }
+ };
+ P.JsonEncoder.prototype = {};
+ P.JsonDecoder.prototype = {};
+ P._JsonStringifier.prototype = {
+ writeStringContent$1: function(s) {
+ var t1, t2, offset, i, charCode, t3, t4,
+ $length = s.length;
+ for (t1 = J.getInterceptor$s(s), t2 = this._sink, offset = 0, i = 0; i < $length; ++i) {
+ charCode = t1._codeUnitAt$1(s, i);
+ if (charCode > 92) {
+ if (charCode >= 55296) {
+ t3 = charCode & 64512;
+ if (t3 === 55296) {
+ t4 = i + 1;
+ t4 = !(t4 < $length && (C.JSString_methods._codeUnitAt$1(s, t4) & 64512) === 56320);
+ } else
+ t4 = false;
+ if (!t4)
+ if (t3 === 56320) {
+ t3 = i - 1;
+ t3 = !(t3 >= 0 && (C.JSString_methods.codeUnitAt$1(s, t3) & 64512) === 55296);
+ } else
+ t3 = false;
+ else
+ t3 = true;
+ if (t3) {
+ if (i > offset)
+ t2._contents += C.JSString_methods.substring$2(s, offset, i);
+ offset = i + 1;
+ t2._contents += H.Primitives_stringFromCharCode(92);
+ t2._contents += H.Primitives_stringFromCharCode(117);
+ t2._contents += H.Primitives_stringFromCharCode(100);
+ t3 = charCode >>> 8 & 15;
+ t2._contents += H.Primitives_stringFromCharCode(t3 < 10 ? 48 + t3 : 87 + t3);
+ t3 = charCode >>> 4 & 15;
+ t2._contents += H.Primitives_stringFromCharCode(t3 < 10 ? 48 + t3 : 87 + t3);
+ t3 = charCode & 15;
+ t2._contents += H.Primitives_stringFromCharCode(t3 < 10 ? 48 + t3 : 87 + t3);
+ }
+ }
+ continue;
+ }
+ if (charCode < 32) {
+ if (i > offset)
+ t2._contents += C.JSString_methods.substring$2(s, offset, i);
+ offset = i + 1;
+ t2._contents += H.Primitives_stringFromCharCode(92);
+ switch (charCode) {
+ case 8:
+ t2._contents += H.Primitives_stringFromCharCode(98);
+ break;
+ case 9:
+ t2._contents += H.Primitives_stringFromCharCode(116);
+ break;
+ case 10:
+ t2._contents += H.Primitives_stringFromCharCode(110);
+ break;
+ case 12:
+ t2._contents += H.Primitives_stringFromCharCode(102);
+ break;
+ case 13:
+ t2._contents += H.Primitives_stringFromCharCode(114);
+ break;
+ default:
+ t2._contents += H.Primitives_stringFromCharCode(117);
+ t2._contents += H.Primitives_stringFromCharCode(48);
+ t2._contents += H.Primitives_stringFromCharCode(48);
+ t3 = charCode >>> 4 & 15;
+ t2._contents += H.Primitives_stringFromCharCode(t3 < 10 ? 48 + t3 : 87 + t3);
+ t3 = charCode & 15;
+ t2._contents += H.Primitives_stringFromCharCode(t3 < 10 ? 48 + t3 : 87 + t3);
+ break;
+ }
+ } else if (charCode === 34 || charCode === 92) {
+ if (i > offset)
+ t2._contents += C.JSString_methods.substring$2(s, offset, i);
+ offset = i + 1;
+ t2._contents += H.Primitives_stringFromCharCode(92);
+ t2._contents += H.Primitives_stringFromCharCode(charCode);
+ }
+ }
+ if (offset === 0)
+ t2._contents += H.S(s);
+ else if (offset < $length)
+ t2._contents += t1.substring$2(s, offset, $length);
+ },
+ _checkCycle$1: function(object) {
+ var t1, t2, i, t3;
+ for (t1 = this._seen, t2 = t1.length, i = 0; i < t2; ++i) {
+ t3 = t1[i];
+ if (object == null ? t3 == null : object === t3)
+ throw H.wrapException(new P.JsonCyclicError(object, null));
+ }
+ C.JSArray_methods.add$1(t1, object);
+ },
+ writeObject$1: function(object) {
+ var customJson, e, t1, exception, _this = this;
+ if (_this.writeJsonValue$1(object))
+ return;
+ _this._checkCycle$1(object);
+ try {
+ customJson = _this._toEncodable.call$1(object);
+ if (!_this.writeJsonValue$1(customJson)) {
+ t1 = P.JsonUnsupportedObjectError$(object, null, _this.get$_partialResult());
+ throw H.wrapException(t1);
+ }
+ t1 = _this._seen;
+ if (0 >= t1.length)
+ return H.ioore(t1, -1);
+ t1.pop();
+ } catch (exception) {
+ e = H.unwrapException(exception);
+ t1 = P.JsonUnsupportedObjectError$(object, e, _this.get$_partialResult());
+ throw H.wrapException(t1);
+ }
+ },
+ writeJsonValue$1: function(object) {
+ var t1, success, _this = this;
+ if (typeof object == "number") {
+ if (!isFinite(object))
+ return false;
+ _this._sink._contents += C.JSNumber_methods.toString$0(object);
+ return true;
+ } else if (object === true) {
+ _this._sink._contents += "true";
+ return true;
+ } else if (object === false) {
+ _this._sink._contents += "false";
+ return true;
+ } else if (object == null) {
+ _this._sink._contents += "null";
+ return true;
+ } else if (typeof object == "string") {
+ t1 = _this._sink;
+ t1._contents += '"';
+ _this.writeStringContent$1(object);
+ t1._contents += '"';
+ return true;
+ } else if (type$.List_dynamic._is(object)) {
+ _this._checkCycle$1(object);
+ _this.writeList$1(object);
+ t1 = _this._seen;
+ if (0 >= t1.length)
+ return H.ioore(t1, -1);
+ t1.pop();
+ return true;
+ } else if (type$.Map_dynamic_dynamic._is(object)) {
+ _this._checkCycle$1(object);
+ success = _this.writeMap$1(object);
+ t1 = _this._seen;
+ if (0 >= t1.length)
+ return H.ioore(t1, -1);
+ t1.pop();
+ return success;
+ } else
+ return false;
+ },
+ writeList$1: function(list) {
+ var t2, i,
+ t1 = this._sink;
+ t1._contents += "[";
+ t2 = J.getInterceptor$ax(list);
+ if (t2.get$isNotEmpty(list)) {
+ this.writeObject$1(t2.$index(list, 0));
+ for (i = 1; i < t2.get$length(list); ++i) {
+ t1._contents += ",";
+ this.writeObject$1(t2.$index(list, i));
+ }
+ }
+ t1._contents += "]";
+ },
+ writeMap$1: function(map) {
+ var keyValueList, i, t1, separator, t2, _this = this, _box_0 = {};
+ if (map.get$isEmpty(map)) {
+ _this._sink._contents += "{}";
+ return true;
+ }
+ keyValueList = P.List_List$filled(map.get$length(map) * 2, null, false, type$.nullable_Object);
+ i = _box_0.i = 0;
+ _box_0.allStringKeys = true;
+ map.forEach$1(0, new P._JsonStringifier_writeMap_closure(_box_0, keyValueList));
+ if (!_box_0.allStringKeys)
+ return false;
+ t1 = _this._sink;
+ t1._contents += "{";
+ for (separator = '"'; i < keyValueList.length; i += 2, separator = ',"') {
+ t1._contents += separator;
+ _this.writeStringContent$1(H._asStringS(keyValueList[i]));
+ t1._contents += '":';
+ t2 = i + 1;
+ if (t2 >= keyValueList.length)
+ return H.ioore(keyValueList, t2);
+ _this.writeObject$1(keyValueList[t2]);
+ }
+ t1._contents += "}";
+ return true;
+ }
+ };
+ P._JsonStringifier_writeMap_closure.prototype = {
+ call$2: function(key, value) {
+ var t1, t2;
+ if (typeof key != "string")
+ this._box_0.allStringKeys = false;
+ t1 = this.keyValueList;
+ t2 = this._box_0;
+ C.JSArray_methods.$indexSet(t1, t2.i++, key);
+ C.JSArray_methods.$indexSet(t1, t2.i++, value);
+ },
+ $signature: 13
+ };
+ P._JsonStringStringifier.prototype = {
+ get$_partialResult: function() {
+ var t1 = this._sink._contents;
+ return t1.charCodeAt(0) == 0 ? t1 : t1;
+ }
+ };
+ P.Utf8Decoder.prototype = {
+ convert$1: function(codeUnits) {
+ var t1, result;
+ type$.List_int._as(codeUnits);
+ t1 = this._allowMalformed;
+ result = P.Utf8Decoder__convertIntercepted(t1, codeUnits, 0, null);
+ if (result != null)
+ return result;
+ return new P._Utf8Decoder(t1).convertGeneral$4(codeUnits, 0, null, true);
+ }
+ };
+ P._Utf8Decoder.prototype = {
+ convertGeneral$4: function(codeUnits, start, maybeEnd, single) {
+ var end, result, t1, message, _this = this;
+ type$.List_int._as(codeUnits);
+ end = P.RangeError_checkValidRange(start, maybeEnd, codeUnits.length);
+ if (start === end)
+ return "";
+ result = _this._convertRecursive$4(codeUnits, start, end, true);
+ t1 = _this._convert$_state;
+ if ((t1 & 1) !== 0) {
+ message = P._Utf8Decoder_errorDescription(t1);
+ _this._convert$_state = 0;
+ throw H.wrapException(P.FormatException$(message, codeUnits, _this._charOrIndex));
+ }
+ return result;
+ },
+ _convertRecursive$4: function(bytes, start, end, single) {
+ var mid, s1, _this = this;
+ if (end - start > 1000) {
+ mid = C.JSInt_methods._tdivFast$1(start + end, 2);
+ s1 = _this._convertRecursive$4(bytes, start, mid, false);
+ if ((_this._convert$_state & 1) !== 0)
+ return s1;
+ return s1 + _this._convertRecursive$4(bytes, mid, end, single);
+ }
+ return _this.decodeGeneral$4(bytes, start, end, single);
+ },
+ decodeGeneral$4: function(bytes, start, end, single) {
+ var byte, t2, type, t3, i0, markEnd, i1, m, _this = this, _65533 = 65533,
+ state = _this._convert$_state,
+ char = _this._charOrIndex,
+ buffer = new P.StringBuffer(""),
+ i = start + 1,
+ t1 = bytes.length;
+ if (start < 0 || start >= t1)
+ return H.ioore(bytes, start);
+ byte = bytes[start];
+ $label0$0:
+ for (t2 = _this.allowMalformed; true;) {
+ for (; true; i = i0) {
+ type = C.JSString_methods._codeUnitAt$1("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHJEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBKCCCCCCCCCCCCDCLONNNMEEEEEEEEEEE", byte) & 31;
+ char = state <= 32 ? byte & 61694 >>> type : (byte & 63 | char << 6) >>> 0;
+ state = C.JSString_methods._codeUnitAt$1(" \x000:XECCCCCN:lDb \x000:XECCCCCNvlDb \x000:XECCCCCN:lDb AAAAA\x00\x00\x00\x00\x00AAAAA00000AAAAA:::::AAAAAGG000AAAAA00KKKAAAAAG::::AAAAA:IIIIAAAAA000\x800AAAAA\x00\x00\x00\x00 AAAAA", state + type);
+ if (state === 0) {
+ buffer._contents += H.Primitives_stringFromCharCode(char);
+ if (i === end)
+ break $label0$0;
+ break;
+ } else if ((state & 1) !== 0) {
+ if (t2)
+ switch (state) {
+ case 69:
+ case 67:
+ buffer._contents += H.Primitives_stringFromCharCode(_65533);
+ break;
+ case 65:
+ buffer._contents += H.Primitives_stringFromCharCode(_65533);
+ --i;
+ break;
+ default:
+ t3 = buffer._contents += H.Primitives_stringFromCharCode(_65533);
+ buffer._contents = t3 + H.Primitives_stringFromCharCode(_65533);
+ break;
+ }
+ else {
+ _this._convert$_state = state;
+ _this._charOrIndex = i - 1;
+ return "";
+ }
+ state = 0;
+ }
+ if (i === end)
+ break $label0$0;
+ i0 = i + 1;
+ if (i < 0 || i >= t1)
+ return H.ioore(bytes, i);
+ byte = bytes[i];
+ }
+ i0 = i + 1;
+ if (i < 0 || i >= t1)
+ return H.ioore(bytes, i);
+ byte = bytes[i];
+ if (byte < 128) {
+ while (true) {
+ if (!(i0 < end)) {
+ markEnd = end;
+ break;
+ }
+ i1 = i0 + 1;
+ if (i0 < 0 || i0 >= t1)
+ return H.ioore(bytes, i0);
+ byte = bytes[i0];
+ if (byte >= 128) {
+ markEnd = i1 - 1;
+ i0 = i1;
+ break;
+ }
+ i0 = i1;
+ }
+ if (markEnd - i < 20)
+ for (m = i; m < markEnd; ++m) {
+ if (m >= t1)
+ return H.ioore(bytes, m);
+ buffer._contents += H.Primitives_stringFromCharCode(bytes[m]);
+ }
+ else
+ buffer._contents += P.String_String$fromCharCodes(bytes, i, markEnd);
+ if (markEnd === end)
+ break $label0$0;
+ i = i0;
+ } else
+ i = i0;
+ }
+ if (single && state > 32)
+ if (t2)
+ buffer._contents += H.Primitives_stringFromCharCode(_65533);
+ else {
+ _this._convert$_state = 77;
+ _this._charOrIndex = end;
+ return "";
+ }
+ _this._convert$_state = state;
+ _this._charOrIndex = char;
+ t1 = buffer._contents;
+ return t1.charCodeAt(0) == 0 ? t1 : t1;
+ }
+ };
+ P._symbolMapToStringMap_closure.prototype = {
+ call$2: function(key, value) {
+ this.result.$indexSet(0, type$.Symbol._as(key).__internal$_name, value);
+ },
+ $signature: 15
+ };
+ P.NoSuchMethodError_toString_closure.prototype = {
+ call$2: function(key, value) {
+ var t1, t2, t3;
+ type$.Symbol._as(key);
+ t1 = this.sb;
+ t2 = this._box_0;
+ t1._contents += t2.comma;
+ t3 = t1._contents += H.S(key.__internal$_name);
+ t1._contents = t3 + ": ";
+ t1._contents += P.Error_safeToString(value);
+ t2.comma = ", ";
+ },
+ $signature: 15
+ };
+ P.bool.prototype = {};
+ P.DateTime.prototype = {
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof P.DateTime && this._value === other._value && this.isUtc === other.isUtc;
+ },
+ get$hashCode: function(_) {
+ var t1 = this._value;
+ return (t1 ^ C.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823;
+ },
+ toString$0: function(_) {
+ var _this = this,
+ y = P.DateTime__fourDigits(H.Primitives_getYear(_this)),
+ m = P.DateTime__twoDigits(H.Primitives_getMonth(_this)),
+ d = P.DateTime__twoDigits(H.Primitives_getDay(_this)),
+ h = P.DateTime__twoDigits(H.Primitives_getHours(_this)),
+ min = P.DateTime__twoDigits(H.Primitives_getMinutes(_this)),
+ sec = P.DateTime__twoDigits(H.Primitives_getSeconds(_this)),
+ ms = P.DateTime__threeDigits(H.Primitives_getMilliseconds(_this));
+ if (_this.isUtc)
+ return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + "Z";
+ else
+ return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms;
+ }
+ };
+ P.double.prototype = {};
+ P.Duration.prototype = {
+ $add: function(_, other) {
+ return new P.Duration(C.JSInt_methods.$add(this._duration, type$.Duration._as(other).get$_duration()));
+ },
+ $sub: function(_, other) {
+ return new P.Duration(C.JSInt_methods.$sub(this._duration, type$.Duration._as(other).get$_duration()));
+ },
+ $lt: function(_, other) {
+ return C.JSInt_methods.$lt(this._duration, type$.Duration._as(other).get$_duration());
+ },
+ $gt: function(_, other) {
+ return C.JSInt_methods.$gt(this._duration, type$.Duration._as(other).get$_duration());
+ },
+ $ge: function(_, other) {
+ return C.JSInt_methods.$ge(this._duration, type$.Duration._as(other).get$_duration());
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof P.Duration && this._duration === other._duration;
+ },
+ get$hashCode: function(_) {
+ return C.JSInt_methods.get$hashCode(this._duration);
+ },
+ toString$0: function(_) {
+ var twoDigitMinutes, twoDigitSeconds, sixDigitUs,
+ t1 = new P.Duration_toString_twoDigits(),
+ t2 = this._duration;
+ if (t2 < 0)
+ return "-" + new P.Duration(0 - t2).toString$0(0);
+ twoDigitMinutes = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 60000000) % 60);
+ twoDigitSeconds = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 1000000) % 60);
+ sixDigitUs = new P.Duration_toString_sixDigits().call$1(t2 % 1000000);
+ return "" + C.JSInt_methods._tdivFast$1(t2, 3600000000) + ":" + H.S(twoDigitMinutes) + ":" + H.S(twoDigitSeconds) + "." + H.S(sixDigitUs);
+ }
+ };
+ P.Duration_toString_sixDigits.prototype = {
+ call$1: function(n) {
+ if (n >= 100000)
+ return "" + n;
+ if (n >= 10000)
+ return "0" + n;
+ if (n >= 1000)
+ return "00" + n;
+ if (n >= 100)
+ return "000" + n;
+ if (n >= 10)
+ return "0000" + n;
+ return "00000" + n;
+ },
+ $signature: 16
+ };
+ P.Duration_toString_twoDigits.prototype = {
+ call$1: function(n) {
+ if (n >= 10)
+ return "" + n;
+ return "0" + n;
+ },
+ $signature: 16
+ };
+ P.Error0.prototype = {
+ get$stackTrace: function() {
+ return H.getTraceFromException(this.$thrownJsError);
+ }
+ };
+ P.AssertionError.prototype = {
+ toString$0: function(_) {
+ var t1 = this.message;
+ if (t1 != null)
+ return "Assertion failed: " + P.Error_safeToString(t1);
+ return "Assertion failed";
+ }
+ };
+ P.NullThrownError.prototype = {
+ toString$0: function(_) {
+ return "Throw of null.";
+ }
+ };
+ P.ArgumentError.prototype = {
+ get$_errorName: function() {
+ return "Invalid argument" + (!this._hasValue ? "(s)" : "");
+ },
+ get$_errorExplanation: function() {
+ return "";
+ },
+ toString$0: function(_) {
+ var explanation, errorValue, _this = this,
+ $name = _this.name,
+ nameString = $name == null ? "" : " (" + $name + ")",
+ message = _this.message,
+ messageString = message == null ? "" : ": " + message,
+ prefix = _this.get$_errorName() + nameString + messageString;
+ if (!_this._hasValue)
+ return prefix;
+ explanation = _this.get$_errorExplanation();
+ errorValue = P.Error_safeToString(_this.invalidValue);
+ return prefix + explanation + ": " + errorValue;
+ }
+ };
+ P.RangeError.prototype = {
+ get$_errorName: function() {
+ return "RangeError";
+ },
+ get$_errorExplanation: function() {
+ var explanation,
+ start = this.start,
+ end = this.end;
+ if (start == null)
+ explanation = end != null ? ": Not less than or equal to " + H.S(end) : "";
+ else if (end == null)
+ explanation = ": Not greater than or equal to " + H.S(start);
+ else if (end > start)
+ explanation = ": Not in inclusive range " + H.S(start) + ".." + H.S(end);
+ else
+ explanation = end < start ? ": Valid value range is empty" : ": Only valid value is " + H.S(start);
+ return explanation;
+ }
+ };
+ P.IndexError.prototype = {
+ get$_errorName: function() {
+ return "RangeError";
+ },
+ get$_errorExplanation: function() {
+ var t1,
+ invalidValue = H._asIntS(this.invalidValue);
+ if (typeof invalidValue !== "number")
+ return invalidValue.$lt();
+ if (invalidValue < 0)
+ return ": index must not be negative";
+ t1 = this.length;
+ if (t1 === 0)
+ return ": no indices are valid";
+ return ": index should be less than " + H.S(t1);
+ },
+ get$length: function(receiver) {
+ return this.length;
+ }
+ };
+ P.NoSuchMethodError.prototype = {
+ toString$0: function(_) {
+ var $arguments, t1, _i, t2, t3, argument, receiverText, actualParameters, _this = this, _box_0 = {},
+ sb = new P.StringBuffer("");
+ _box_0.comma = "";
+ $arguments = _this._core$_arguments;
+ for (t1 = $arguments.length, _i = 0, t2 = "", t3 = ""; _i < t1; ++_i, t3 = ", ") {
+ argument = $arguments[_i];
+ sb._contents = t2 + t3;
+ t2 = sb._contents += P.Error_safeToString(argument);
+ _box_0.comma = ", ";
+ }
+ _this._namedArguments.forEach$1(0, new P.NoSuchMethodError_toString_closure(_box_0, sb));
+ receiverText = P.Error_safeToString(_this._core$_receiver);
+ actualParameters = sb.toString$0(0);
+ t1 = "NoSuchMethodError: method not found: '" + H.S(_this._core$_memberName.__internal$_name) + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]";
+ return t1;
+ }
+ };
+ P.UnsupportedError.prototype = {
+ toString$0: function(_) {
+ return "Unsupported operation: " + this.message;
+ }
+ };
+ P.UnimplementedError.prototype = {
+ toString$0: function(_) {
+ var message = this.message;
+ return message != null ? "UnimplementedError: " + message : "UnimplementedError";
+ }
+ };
+ P.StateError.prototype = {
+ toString$0: function(_) {
+ return "Bad state: " + this.message;
+ }
+ };
+ P.ConcurrentModificationError.prototype = {
+ toString$0: function(_) {
+ var t1 = this.modifiedObject;
+ if (t1 == null)
+ return "Concurrent modification during iteration.";
+ return "Concurrent modification during iteration: " + P.Error_safeToString(t1) + ".";
+ }
+ };
+ P.OutOfMemoryError.prototype = {
+ toString$0: function(_) {
+ return "Out of Memory";
+ },
+ get$stackTrace: function() {
+ return null;
+ },
+ $isError0: 1
+ };
+ P.StackOverflowError.prototype = {
+ toString$0: function(_) {
+ return "Stack Overflow";
+ },
+ get$stackTrace: function() {
+ return null;
+ },
+ $isError0: 1
+ };
+ P.CyclicInitializationError.prototype = {
+ toString$0: function(_) {
+ var variableName = this.variableName;
+ return variableName == null ? "Reading static variable during its initialization" : "Reading static variable '" + variableName + "' during its initialization";
+ }
+ };
+ P._Exception.prototype = {
+ toString$0: function(_) {
+ return "Exception: " + this.message;
+ }
+ };
+ P.FormatException.prototype = {
+ toString$0: function(_) {
+ var message = this.message,
+ report = message != null && "" !== message ? "FormatException: " + H.S(message) : "FormatException",
+ offset = this.offset;
+ return offset != null ? report + (" (at offset " + H.S(offset) + ")") : report;
+ }
+ };
+ P.Function.prototype = {};
+ P.int.prototype = {};
+ P.Iterable.prototype = {
+ map$1: function(_, f) {
+ var t1 = H._instanceType(this);
+ return H.MappedIterable_MappedIterable(this, t1._eval$1("@(Iterable.E)")._as(f), t1._eval$1("Iterable.E"), type$.dynamic);
+ },
+ get$length: function(_) {
+ var count,
+ it = this.get$iterator(this);
+ for (count = 0; it.moveNext$0();)
+ ++count;
+ return count;
+ },
+ elementAt$1: function(_, index) {
+ var t1, elementIndex, element;
+ P.RangeError_checkNotNegative(index, "index");
+ for (t1 = this.get$iterator(this), elementIndex = 0; t1.moveNext$0();) {
+ element = t1.get$current();
+ if (index === elementIndex)
+ return element;
+ ++elementIndex;
+ }
+ throw H.wrapException(P.IndexError$(index, this, "index", null, elementIndex));
+ },
+ toString$0: function(_) {
+ return P.IterableBase_iterableToShortString(this, "(", ")");
+ }
+ };
+ P.Iterator.prototype = {};
+ P.List.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1};
+ P.Map.prototype = {};
+ P.MapEntry.prototype = {};
+ P.Null.prototype = {
+ get$hashCode: function(_) {
+ return P.Object.prototype.get$hashCode.call(C.JSNull_methods, this);
+ },
+ toString$0: function(_) {
+ return "null";
+ }
+ };
+ P.num.prototype = {};
+ P.Object.prototype = {constructor: P.Object, $isObject: 1,
+ $eq: function(_, other) {
+ return this === other;
+ },
+ get$hashCode: function(_) {
+ return H.Primitives_objectHashCode(this);
+ },
+ toString$0: function(_) {
+ return "Instance of '" + H.S(H.Primitives_objectTypeName(this)) + "'";
+ },
+ noSuchMethod$1: function(_, invocation) {
+ type$.Invocation._as(invocation);
+ throw H.wrapException(P.NoSuchMethodError$(this, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()));
+ },
+ get$runtimeType: function(_) {
+ return H.getRuntimeType(this);
+ },
+ toString: function() {
+ return this.toString$0(this);
+ }
+ };
+ P.StackTrace.prototype = {};
+ P._StringStackTrace.prototype = {
+ toString$0: function(_) {
+ return "";
+ },
+ $isStackTrace: 1
+ };
+ P.String.prototype = {$isPattern: 1};
+ P.StringBuffer.prototype = {
+ get$length: function(_) {
+ return this._contents.length;
+ },
+ toString$0: function(_) {
+ var t1 = this._contents;
+ return t1.charCodeAt(0) == 0 ? t1 : t1;
+ },
+ $isStringSink: 1
+ };
+ P.Symbol0.prototype = {};
+ W.DomException.prototype = {
+ toString$0: function(receiver) {
+ return String(receiver);
+ }
+ };
+ W.Event0.prototype = {$isEvent0: 1};
+ W.EventSource.prototype = {$isEventSource: 1};
+ W.EventTarget.prototype = {
+ addEventListener$3: function(receiver, type, listener, useCapture) {
+ type$.nullable_dynamic_Function_Event._as(listener);
+ if (listener != null)
+ this._addEventListener$3(receiver, type, listener, useCapture);
+ },
+ addEventListener$2: function($receiver, type, listener) {
+ return this.addEventListener$3($receiver, type, listener, null);
+ },
+ _addEventListener$3: function(receiver, type, listener, options) {
+ return receiver.addEventListener(type, H.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), options);
+ },
+ _removeEventListener$3: function(receiver, type, listener, options) {
+ return receiver.removeEventListener(type, H.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), false);
+ },
+ $isEventTarget: 1
+ };
+ W.HttpRequest.prototype = {
+ open$3$async: function(receiver, method, url, async) {
+ return receiver.open(method, url, true);
+ },
+ $isHttpRequest: 1
+ };
+ W.HttpRequest_request_closure.prototype = {
+ call$1: function(e) {
+ var t1, t2, accepted, unknownRedirect, t3;
+ type$.ProgressEvent._as(e);
+ t1 = this.xhr;
+ t2 = t1.status;
+ if (typeof t2 !== "number")
+ return t2.$ge();
+ accepted = t2 >= 200 && t2 < 300;
+ unknownRedirect = t2 > 307 && t2 < 400;
+ t2 = accepted || t2 === 0 || t2 === 304 || unknownRedirect;
+ t3 = this.completer;
+ if (t2)
+ t3.complete$1(t1);
+ else
+ t3.completeError$1(e);
+ },
+ $signature: 40
+ };
+ W.HttpRequestEventTarget.prototype = {};
+ W.MessageEvent.prototype = {$isMessageEvent: 1};
+ W.ProgressEvent.prototype = {$isProgressEvent: 1};
+ W.EventStreamProvider.prototype = {};
+ W._EventStream.prototype = {
+ listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
+ var t1 = this.$ti;
+ t1._eval$1("~(1)?")._as(onData);
+ type$.nullable_void_Function._as(onDone);
+ return W._EventStreamSubscription$(this._target, this._eventType, onData, false, t1._precomputed1);
+ },
+ listen$3$onDone$onError: function(onData, onDone, onError) {
+ return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
+ }
+ };
+ W._EventStreamSubscription.prototype = {
+ cancel$0: function() {
+ var _this = this;
+ if (_this._target == null)
+ return null;
+ _this._unlisten$0();
+ _this._target = null;
+ _this.set$_onData(null);
+ return null;
+ },
+ onData$1: function(handleData) {
+ var t1, _this = this;
+ _this.$ti._eval$1("~(1)?")._as(handleData);
+ if (_this._target == null)
+ throw H.wrapException(P.StateError$("Subscription has been canceled."));
+ _this._unlisten$0();
+ t1 = W._wrapZone(new W._EventStreamSubscription_onData_closure(handleData), type$.Event);
+ _this.set$_onData(t1);
+ _this._tryResume$0();
+ },
+ pause$0: function() {
+ if (this._target == null)
+ return;
+ ++this._pauseCount;
+ this._unlisten$0();
+ },
+ resume$0: function() {
+ var _this = this;
+ if (_this._target == null || _this._pauseCount <= 0)
+ return;
+ --_this._pauseCount;
+ _this._tryResume$0();
+ },
+ _tryResume$0: function() {
+ var t2, _this = this,
+ t1 = _this._onData;
+ if (t1 != null && _this._pauseCount <= 0) {
+ t2 = _this._target;
+ t2.toString;
+ J.addEventListener$3$x(t2, _this._eventType, t1, false);
+ }
+ },
+ _unlisten$0: function() {
+ var t3,
+ t1 = this._onData,
+ t2 = t1 != null;
+ if (t2) {
+ t3 = this._target;
+ t3.toString;
+ type$.nullable_dynamic_Function_Event._as(t1);
+ if (t2)
+ J._removeEventListener$3$x(t3, this._eventType, t1, false);
+ }
+ },
+ set$_onData: function(_onData) {
+ this._onData = type$.nullable_dynamic_Function_Event._as(_onData);
+ }
+ };
+ W._EventStreamSubscription_closure.prototype = {
+ call$1: function(e) {
+ return this.onData.call$1(type$.Event._as(e));
+ },
+ $signature: 17
+ };
+ W._EventStreamSubscription_onData_closure.prototype = {
+ call$1: function(e) {
+ return this.handleData.call$1(type$.Event._as(e));
+ },
+ $signature: 17
+ };
+ P._AcceptStructuredClone.prototype = {
+ findSlot$1: function(value) {
+ var i,
+ t1 = this.values,
+ $length = t1.length;
+ for (i = 0; i < $length; ++i)
+ if (t1[i] === value)
+ return i;
+ C.JSArray_methods.add$1(t1, value);
+ C.JSArray_methods.add$1(this.copies, null);
+ return $length;
+ },
+ walk$1: function(e) {
+ var millisSinceEpoch, t1, proto, slot, copy, t2, l, $length, i, _this = this, _box_0 = {};
+ if (e == null)
+ return e;
+ if (H._isBool(e))
+ return e;
+ if (typeof e == "number")
+ return e;
+ if (typeof e == "string")
+ return e;
+ if (e instanceof Date) {
+ millisSinceEpoch = e.getTime();
+ if (Math.abs(millisSinceEpoch) <= 864e13)
+ t1 = false;
+ else
+ t1 = true;
+ if (t1)
+ H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + millisSinceEpoch));
+ P.ArgumentError_checkNotNull(true, "isUtc", type$.bool);
+ return new P.DateTime(millisSinceEpoch, true);
+ }
+ if (e instanceof RegExp)
+ throw H.wrapException(P.UnimplementedError$("structured clone of RegExp"));
+ if (typeof Promise != "undefined" && e instanceof Promise)
+ return P.promiseToFuture(e, type$.dynamic);
+ proto = Object.getPrototypeOf(e);
+ if (proto === Object.prototype || proto === null) {
+ slot = _this.findSlot$1(e);
+ t1 = _this.copies;
+ if (slot >= t1.length)
+ return H.ioore(t1, slot);
+ copy = _box_0.copy = t1[slot];
+ if (copy != null)
+ return copy;
+ t2 = type$.dynamic;
+ copy = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
+ _box_0.copy = copy;
+ C.JSArray_methods.$indexSet(t1, slot, copy);
+ _this.forEachJsField$2(e, new P._AcceptStructuredClone_walk_closure(_box_0, _this));
+ return _box_0.copy;
+ }
+ if (e instanceof Array) {
+ l = e;
+ slot = _this.findSlot$1(l);
+ t1 = _this.copies;
+ if (slot >= t1.length)
+ return H.ioore(t1, slot);
+ copy = t1[slot];
+ if (copy != null)
+ return copy;
+ t2 = J.getInterceptor$asx(l);
+ $length = t2.get$length(l);
+ copy = _this.mustCopy ? new Array($length) : l;
+ C.JSArray_methods.$indexSet(t1, slot, copy);
+ for (t1 = J.getInterceptor$ax(copy), i = 0; i < $length; ++i)
+ t1.$indexSet(copy, i, _this.walk$1(t2.$index(l, i)));
+ return copy;
+ }
+ return e;
+ },
+ convertNativeToDart_AcceptStructuredClone$2$mustCopy: function(object, mustCopy) {
+ this.mustCopy = true;
+ return this.walk$1(object);
+ }
+ };
+ P._AcceptStructuredClone_walk_closure.prototype = {
+ call$2: function(key, value) {
+ var t1 = this._box_0.copy,
+ t2 = this.$this.walk$1(value);
+ J.$indexSet$ax(t1, key, t2);
+ return t2;
+ },
+ $signature: 47
+ };
+ P.convertDartToNative_Dictionary_closure.prototype = {
+ call$2: function(key, value) {
+ this.object[key] = value;
+ },
+ $signature: 51
+ };
+ P._AcceptStructuredCloneDart2Js.prototype = {
+ forEachJsField$2: function(object, action) {
+ var t1, t2, _i, key;
+ type$.dynamic_Function_dynamic_dynamic._as(action);
+ for (t1 = Object.keys(object), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
+ key = t1[_i];
+ action.call$2(key, object[key]);
+ }
+ }
+ };
+ P.promiseToFuture_closure.prototype = {
+ call$1: function(r) {
+ return this.completer.complete$1(this.T._eval$1("0/?")._as(r));
+ },
+ $signature: 2
+ };
+ P.promiseToFuture_closure0.prototype = {
+ call$1: function(e) {
+ return this.completer.completeError$1(e);
+ },
+ $signature: 2
+ };
+ P._JSRandom.prototype = {
+ nextDouble$0: function() {
+ return Math.random();
+ }
+ };
+ P.ByteBuffer.prototype = {};
+ P.ByteData.prototype = {};
+ P.Int8List.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1};
+ P.Uint8List.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1};
+ P.Uint8ClampedList.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1};
+ P.Int16List.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1};
+ P.Uint16List.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1};
+ P.Int32List.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1};
+ P.Uint32List.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1};
+ P.Float32List.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1};
+ P.Float64List.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1};
+ V.ErrorResult.prototype = {
+ complete$1: function(completer) {
+ completer.completeError$2(this.error, this.stackTrace);
+ },
+ get$hashCode: function(_) {
+ return (J.get$hashCode$(this.error) ^ J.get$hashCode$(this.stackTrace) ^ 492929599) >>> 0;
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof V.ErrorResult && J.$eq$(this.error, other.error) && this.stackTrace == other.stackTrace;
+ },
+ $isResult: 1
+ };
+ E.Result.prototype = {};
+ F.ValueResult.prototype = {
+ complete$1: function(completer) {
+ this.$ti._eval$1("Completer<1*>*")._as(completer).complete$1(this.value);
+ },
+ get$hashCode: function(_) {
+ return (J.get$hashCode$(this.value) ^ 842997089) >>> 0;
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof F.ValueResult && J.$eq$(this.value, other.value);
+ },
+ $isResult: 1
+ };
+ G.StreamQueue.prototype = {
+ get$next: function() {
+ var t1 = this.$ti,
+ t2 = new P._Future($.Zone__current, t1._eval$1("_Future<1*>"));
+ this._addRequest$1(new G._NextRequest(new P._AsyncCompleter(t2, t1._eval$1("_AsyncCompleter<1*>")), t1._eval$1("_NextRequest<1*>")));
+ return t2;
+ },
+ _updateRequests$0: function() {
+ var t1, t2, t3, t4, _this = this;
+ for (t1 = _this._requestQueue, t2 = _this._eventQueue; !t1.get$isEmpty(t1);) {
+ t3 = t1._head;
+ if (t3 === t1._tail)
+ H.throwExpression(H.IterableElementError_noElement());
+ t4 = t1._collection$_table;
+ if (t3 >= t4.length)
+ return H.ioore(t4, t3);
+ if (t4[t3].update$2(t2, _this._isDone)) {
+ t3 = t1._head;
+ if (t3 === t1._tail)
+ H.throwExpression(H.IterableElementError_noElement());
+ ++t1._modificationCount;
+ t4 = t1._collection$_table;
+ if (t3 >= t4.length)
+ return H.ioore(t4, t3);
+ C.JSArray_methods.$indexSet(t4, t3, null);
+ t1._head = (t1._head + 1 & t1._collection$_table.length - 1) >>> 0;
+ } else
+ return;
+ }
+ if (!_this._isDone)
+ _this._subscription.pause$0();
+ },
+ _ensureListening$0: function() {
+ var t1, _this = this;
+ if (_this._isDone)
+ return;
+ t1 = _this._subscription;
+ if (t1 == null)
+ _this.set$_subscription(_this._source.listen$3$onDone$onError(new G.StreamQueue__ensureListening_closure(_this), new G.StreamQueue__ensureListening_closure0(_this), new G.StreamQueue__ensureListening_closure1(_this)));
+ else
+ t1.resume$0();
+ },
+ _addResult$1: function(result) {
+ var t1, _this = this;
+ _this.$ti._eval$1("Result<1*>*")._as(result);
+ ++_this._eventsReceived;
+ t1 = _this._eventQueue;
+ t1._queue_list$_add$1(t1.$ti._eval$1("1*")._as(result));
+ _this._updateRequests$0();
+ },
+ _addRequest$1: function(request) {
+ var t1, t2, t3, t4, newTable, split, _this = this;
+ _this.$ti._eval$1("_EventRequest<1*>*")._as(request);
+ t1 = _this._requestQueue;
+ if (t1._head === t1._tail) {
+ if (request.update$2(_this._eventQueue, _this._isDone))
+ return;
+ _this._ensureListening$0();
+ }
+ t2 = t1.$ti;
+ t2._precomputed1._as(request);
+ C.JSArray_methods.$indexSet(t1._collection$_table, t1._tail, request);
+ t3 = t1._tail;
+ t4 = t1._collection$_table.length;
+ t3 = (t3 + 1 & t4 - 1) >>> 0;
+ t1._tail = t3;
+ if (t1._head === t3) {
+ newTable = P.List_List$filled(t4 * 2, null, false, t2._eval$1("1?"));
+ t2 = t1._collection$_table;
+ t3 = t1._head;
+ split = t2.length - t3;
+ C.JSArray_methods.setRange$4(newTable, 0, split, t2, t3);
+ C.JSArray_methods.setRange$4(newTable, split, split + t1._head, t1._collection$_table, 0);
+ t1._head = 0;
+ t1._tail = t1._collection$_table.length;
+ t1.set$_collection$_table(newTable);
+ }
+ ++t1._modificationCount;
+ },
+ set$_subscription: function(_subscription) {
+ this._subscription = this.$ti._eval$1("StreamSubscription<1*>*")._as(_subscription);
+ }
+ };
+ G.StreamQueue__ensureListening_closure.prototype = {
+ call$1: function(data) {
+ var t1 = this.$this,
+ t2 = t1.$ti;
+ t1._addResult$1(new F.ValueResult(t2._eval$1("1*")._as(data), t2._eval$1("ValueResult<1*>")));
+ },
+ $signature: function() {
+ return this.$this.$ti._eval$1("Null(1*)");
+ }
+ };
+ G.StreamQueue__ensureListening_closure1.prototype = {
+ call$2: function(error, stackTrace) {
+ this.$this._addResult$1(new V.ErrorResult(error, type$.legacy_StackTrace._as(stackTrace)));
+ },
+ "call*": "call$2",
+ $requiredArgCount: 2,
+ $signature: 56
+ };
+ G.StreamQueue__ensureListening_closure0.prototype = {
+ call$0: function() {
+ var t1 = this.$this;
+ t1.set$_subscription(null);
+ t1._isDone = true;
+ t1._updateRequests$0();
+ },
+ "call*": "call$0",
+ $requiredArgCount: 0,
+ $signature: 1
+ };
+ G._EventRequest.prototype = {};
+ G._NextRequest.prototype = {
+ update$2: function(events, isDone) {
+ var t1, t2, result;
+ this.$ti._eval$1("QueueList<Result<1*>*>*")._as(events);
+ if (events.get$length(events) !== 0) {
+ t1 = events._queue_list$_head;
+ if (t1 === events._queue_list$_tail)
+ H.throwExpression(P.StateError$("No element"));
+ t2 = events._table;
+ if (t1 >= t2.length)
+ return H.ioore(t2, t1);
+ result = t2[t1];
+ C.JSArray_methods.$indexSet(t2, t1, null);
+ events._queue_list$_head = (events._queue_list$_head + 1 & events._table.length - 1) >>> 0;
+ result.complete$1(this._completer);
+ return true;
+ }
+ if (isDone) {
+ this._completer.completeError$2(new P.StateError("No elements"), P.StackTrace_current());
+ return true;
+ }
+ return false;
+ },
+ $is_EventRequest: 1
+ };
+ Q.QueueList.prototype = {
+ toString$0: function(_) {
+ return P.IterableBase_iterableToFullString(this, "{", "}");
+ },
+ get$length: function(_) {
+ return (this._queue_list$_tail - this._queue_list$_head & this._table.length - 1) >>> 0;
+ },
+ $index: function(_, index) {
+ var t1, t2, t3, _this = this;
+ H._asIntS(index);
+ if (index < 0 || index >= _this.get$length(_this))
+ throw H.wrapException(P.RangeError$("Index " + index + " must be in the range [0.." + _this.get$length(_this) + ")."));
+ t1 = _this._table;
+ t2 = t1.length;
+ t3 = (_this._queue_list$_head + index & t2 - 1) >>> 0;
+ if (t3 < 0 || t3 >= t2)
+ return H.ioore(t1, t3);
+ return t1[t3];
+ },
+ $indexSet: function(_, index, value) {
+ var t1, _this = this;
+ H._asIntS(index);
+ _this.$ti._eval$1("1*")._as(value);
+ if (typeof index !== "number")
+ return index.$lt();
+ if (index < 0 || index >= _this.get$length(_this))
+ throw H.wrapException(P.RangeError$("Index " + index + " must be in the range [0.." + _this.get$length(_this) + ")."));
+ t1 = _this._table;
+ C.JSArray_methods.$indexSet(t1, (_this._queue_list$_head + index & t1.length - 1) >>> 0, value);
+ },
+ _queue_list$_add$1: function(element) {
+ var t2, t3, newTable, split, _this = this,
+ t1 = _this.$ti;
+ t1._eval$1("1*")._as(element);
+ C.JSArray_methods.$indexSet(_this._table, _this._queue_list$_tail, element);
+ t2 = _this._queue_list$_tail;
+ t3 = _this._table.length;
+ t2 = (t2 + 1 & t3 - 1) >>> 0;
+ _this._queue_list$_tail = t2;
+ if (_this._queue_list$_head === t2) {
+ t2 = new Array(t3 * 2);
+ t2.fixed$length = Array;
+ newTable = H.setRuntimeTypeInfo(t2, t1._eval$1("JSArray<1*>"));
+ t1 = _this._table;
+ t2 = _this._queue_list$_head;
+ split = t1.length - t2;
+ C.JSArray_methods.setRange$4(newTable, 0, split, t1, t2);
+ C.JSArray_methods.setRange$4(newTable, split, split + _this._queue_list$_head, _this._table, 0);
+ _this._queue_list$_head = 0;
+ _this._queue_list$_tail = _this._table.length;
+ _this.set$_table(newTable);
+ }
+ },
+ set$_table: function(_table) {
+ this._table = this.$ti._eval$1("List<1*>*")._as(_table);
+ },
+ $isEfficientLengthIterable: 1,
+ $isQueue: 1,
+ $isIterable: 1,
+ $isList: 1
+ };
+ Q._QueueList_Object_ListMixin.prototype = {};
+ N.HexCodec.prototype = {
+ get$encoder: function() {
+ return C.C_HexEncoder;
+ }
+ };
+ R.HexEncoder.prototype = {
+ convert$1: function(bytes) {
+ type$.legacy_List_legacy_int._as(bytes);
+ return R._convert(bytes, 0, bytes.length);
+ }
+ };
+ Y.Level.prototype = {
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Y.Level && this.value === other.value;
+ },
+ $gt: function(_, other) {
+ return C.JSInt_methods.$gt(this.value, type$.legacy_Level._as(other).get$value());
+ },
+ $ge: function(_, other) {
+ return this.value >= type$.legacy_Level._as(other).value;
+ },
+ get$hashCode: function(_) {
+ return this.value;
+ },
+ toString$0: function(_) {
+ return this.name;
+ }
+ };
+ L.LogRecord0.prototype = {
+ toString$0: function(_) {
+ return "[" + this.level.name + "] " + this.loggerName + ": " + H.S(this.message);
+ }
+ };
+ F.Logger.prototype = {
+ get$fullName: function() {
+ var t1 = this.parent,
+ t2 = t1 == null || t1.name === "",
+ t3 = this.name;
+ return t2 ? t3 : t1.get$fullName() + "." + t3;
+ },
+ get$level: function() {
+ var effectiveLevel, t1;
+ if (this.parent == null)
+ effectiveLevel = this._level;
+ else {
+ t1 = $.$get$Logger_root();
+ effectiveLevel = t1._level;
+ }
+ return effectiveLevel;
+ },
+ log$4: function(logLevel, message, error, stackTrace) {
+ var record, _this = this,
+ t1 = logLevel.value;
+ if (t1 >= _this.get$level().value) {
+ if (t1 >= 2000) {
+ P.StackTrace_current();
+ logLevel.toString$0(0);
+ }
+ t1 = _this.get$fullName();
+ Date.now();
+ $.LogRecord__nextNumber = $.LogRecord__nextNumber + 1;
+ record = new L.LogRecord0(logLevel, message, t1);
+ if (_this.parent == null)
+ _this._publish$1(record);
+ else
+ $.$get$Logger_root()._publish$1(record);
+ }
+ },
+ _publish$1: function(record) {
+ }
+ };
+ F.Logger_Logger_closure.prototype = {
+ call$0: function() {
+ var dot, $parent, t1,
+ thisName = this.name;
+ if (C.JSString_methods.startsWith$1(thisName, "."))
+ H.throwExpression(P.ArgumentError$("name shouldn't start with a '.'"));
+ dot = C.JSString_methods.lastIndexOf$1(thisName, ".");
+ if (dot === -1)
+ $parent = thisName !== "" ? F.Logger_Logger("") : null;
+ else {
+ $parent = F.Logger_Logger(C.JSString_methods.substring$2(thisName, 0, dot));
+ thisName = C.JSString_methods.substring$1(thisName, dot + 1);
+ }
+ t1 = new F.Logger(thisName, $parent, P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_Logger));
+ if ($parent == null)
+ t1._level = C.Level_INFO_800;
+ else
+ $parent._children.$indexSet(0, thisName, t1);
+ return t1;
+ },
+ $signature: 60
+ };
+ M.SseClient.prototype = {
+ SseClient$1: function(serverUrl) {
+ var t1, t2, t3, t4, _this = this,
+ clientId = K.Uuid$().v1$0();
+ _this._eventSource = W.EventSource__factoryEventSource(H.S(serverUrl) + "?sseClientId=" + clientId, P.LinkedHashMap_LinkedHashMap$_literal(["withCredentials", true], type$.String, type$.dynamic));
+ _this._serverUrl = H.S(serverUrl) + "?sseClientId=" + clientId;
+ t1 = _this._outgoingController;
+ new P._ControllerStream(t1, H._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$2$onDone(_this.get$_onOutgoingMessage(), _this.get$_onOutgoingDone());
+ C.EventSource_methods.addEventListener$2(_this._eventSource, "message", _this.get$_onIncomingMessage());
+ C.EventSource_methods.addEventListener$2(_this._eventSource, "control", _this.get$_onIncomingControlMessage());
+ t1 = _this._eventSource;
+ t2 = type$.nullable_void_Function_legacy_Event;
+ t3 = t2._as(new M.SseClient_closure(_this));
+ type$.nullable_void_Function._as(null);
+ t4 = type$.legacy_Event_2;
+ W._EventStreamSubscription$(t1, "open", t3, false, t4);
+ W._EventStreamSubscription$(_this._eventSource, "error", t2._as(new M.SseClient_closure0(_this)), false, t4);
+ _this._startPostingMessages$0();
+ },
+ close$0: function(_) {
+ this._eventSource.close();
+ this._incomingController.close$0(0);
+ this._outgoingController.close$0(0);
+ },
+ _onIncomingControlMessage$1: function(message) {
+ var data = new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.legacy_MessageEvent._as(type$.legacy_Event_2._as(message)).data, true);
+ if (J.$eq$(data, "close"))
+ this.close$0(0);
+ else
+ throw H.wrapException(P.UnsupportedError$('Illegal Control Message "' + H.S(data) + '"'));
+ },
+ _onIncomingMessage$1: function(message) {
+ this._incomingController.add$1(0, H._asStringS(C.C_JsonCodec.decode$2$reviver(H._asStringS(new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.legacy_MessageEvent._as(type$.legacy_Event_2._as(message)).data, true)), null)));
+ },
+ _onOutgoingDone$0: function() {
+ this.close$0(0);
+ },
+ _onOutgoingMessage$1: function(message) {
+ var $async$goto = 0,
+ $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
+ $async$self = this;
+ var $async$_onOutgoingMessage$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
+ if ($async$errorCode === 1)
+ return P._asyncRethrow($async$result, $async$completer);
+ while (true)
+ switch ($async$goto) {
+ case 0:
+ // Function start
+ $async$self._messages.add$1(0, message);
+ // implicit return
+ return P._asyncReturn(null, $async$completer);
+ }
+ });
+ return P._asyncStartSync($async$_onOutgoingMessage$1, $async$completer);
+ },
+ _startPostingMessages$0: function() {
+ var $async$goto = 0,
+ $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
+ $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, message, e, e0, t2, exception, t3, t1, $async$exception, $async$temp1;
+ var $async$_startPostingMessages$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
+ if ($async$errorCode === 1) {
+ $async$currentError = $async$result;
+ $async$goto = $async$handler;
+ }
+ while (true)
+ switch ($async$goto) {
+ case 0:
+ // Function start
+ t1 = $async$self._messages;
+ t1 = new P._ControllerStream(t1, H._instanceType(t1)._eval$1("_ControllerStream<1>"));
+ t2 = new P._StreamIterator(t1, type$._StreamIterator_dynamic);
+ P.ArgumentError_checkNotNull(t1, "stream", type$.Stream_dynamic);
+ $async$handler = 2;
+ t1 = $async$self._logger;
+ case 5:
+ // for condition
+ $async$temp1 = H;
+ $async$goto = 7;
+ return P._asyncAwait(t2.moveNext$0(), $async$_startPostingMessages$0);
+ case 7:
+ // returning from await.
+ if (!$async$temp1.boolConversionCheck($async$result)) {
+ // goto after for
+ $async$goto = 6;
+ break;
+ }
+ message = t2.get$current();
+ $async$handler = 9;
+ $async$goto = 12;
+ return P._asyncAwait(W.HttpRequest_request($async$self._serverUrl, "POST", C.C_JsonCodec.encode$2$toEncodable(message, null), true), $async$_startPostingMessages$0);
+ case 12:
+ // returning from await.
+ $async$handler = 2;
+ // goto after finally
+ $async$goto = 11;
+ break;
+ case 9:
+ // catch
+ $async$handler = 8;
+ $async$exception = $async$currentError;
+ t3 = H.unwrapException($async$exception);
+ if (t3 instanceof P.JsonUnsupportedObjectError) {
+ e = t3;
+ t1.log$4(C.Level_WARNING_900, "Unable to encode outgoing message: " + H.S(e), null, null);
+ } else if (t3 instanceof P.ArgumentError) {
+ e0 = t3;
+ t1.log$4(C.Level_WARNING_900, "Invalid argument: " + H.S(e0), null, null);
+ } else
+ throw $async$exception;
+ // goto after finally
+ $async$goto = 11;
+ break;
+ case 8:
+ // uncaught
+ // goto uncaught
+ $async$goto = 2;
+ break;
+ case 11:
+ // after finally
+ // goto for condition
+ $async$goto = 5;
+ break;
+ case 6:
+ // after for
+ $async$next.push(4);
+ // goto finally
+ $async$goto = 3;
+ break;
+ case 2:
+ // uncaught
+ $async$next = [1];
+ case 3:
+ // finally
+ $async$handler = 1;
+ $async$goto = 13;
+ return P._asyncAwait(t2.cancel$0(), $async$_startPostingMessages$0);
+ case 13:
+ // returning from await.
+ // goto the next finally handler
+ $async$goto = $async$next.pop();
+ break;
+ case 4:
+ // after finally
+ // implicit return
+ return P._asyncReturn(null, $async$completer);
+ case 1:
+ // rethrow
+ return P._asyncRethrow($async$currentError, $async$completer);
+ }
+ });
+ return P._asyncStartSync($async$_startPostingMessages$0, $async$completer);
+ }
+ };
+ M.SseClient_closure.prototype = {
+ call$1: function(_) {
+ var t1 = this.$this._errorTimer;
+ if (t1 != null)
+ t1.cancel$0();
+ },
+ $signature: 19
+ };
+ M.SseClient_closure0.prototype = {
+ call$1: function(error) {
+ var t1 = this.$this,
+ t2 = t1._errorTimer;
+ t2 = t2 == null ? null : t2._handle != null;
+ if (t2 !== true)
+ t1._errorTimer = P.Timer_Timer(C.Duration_5000000, new M.SseClient__closure(t1, error));
+ },
+ $signature: 19
+ };
+ M.SseClient__closure.prototype = {
+ call$0: function() {
+ var stackTrace, t3,
+ t1 = this.$this,
+ t2 = t1._incomingController,
+ error = this.error;
+ P.ArgumentError_checkNotNull(error, "error", type$.Object);
+ if (t2._state >= 4)
+ H.throwExpression(t2._badEventState$0());
+ stackTrace = P.AsyncError_defaultStackTrace(error);
+ t3 = t2._state;
+ if ((t3 & 1) !== 0)
+ t2._sendError$2(error, stackTrace);
+ else if ((t3 & 3) === 0)
+ t2._ensurePendingEvents$0().add$1(0, new P._DelayedError(error, stackTrace));
+ t1.close$0(0);
+ },
+ $signature: 1
+ };
+ R.StreamChannelMixin.prototype = {};
+ K.Uuid.prototype = {
+ Uuid$1$options: function(_box_0) {
+ var t1, t2, i, hex, t3, v1PositionalArgs, v1NamedArgs, _this = this,
+ _s19_ = "v1rngPositionalArgs",
+ _s14_ = "v1rngNamedArgs",
+ _s18_ = "grngPositionalArgs",
+ _s13_ = "grngNamedArgs",
+ options = _box_0.options;
+ if (!(options != null))
+ options = new H.JsLinkedHashMap(type$.JsLinkedHashMap_of_legacy_String_and_dynamic);
+ _box_0.options = options;
+ t1 = new Array(256);
+ t1.fixed$length = Array;
+ _this.set$_byteToHex(H.setRuntimeTypeInfo(t1, type$.JSArray_legacy_String));
+ _this.set$_hexToByte(new H.JsLinkedHashMap(type$.JsLinkedHashMap_of_legacy_String_and_legacy_int));
+ for (t1 = type$.JSArray_legacy_int, t2 = type$.HexCodec._eval$1("Codec.S"), i = 0; i < 256; ++i) {
+ hex = H.setRuntimeTypeInfo([], t1);
+ C.JSArray_methods.add$1(hex, i);
+ t3 = _this._byteToHex;
+ t2._as(hex);
+ (t3 && C.JSArray_methods).$indexSet(t3, i, C.C_HexCodec.get$encoder().convert$1(hex));
+ _this._hexToByte.$indexSet(0, _this._byteToHex[i], i);
+ }
+ v1PositionalArgs = _box_0.options.$index(0, _s19_) != null ? _box_0.options.$index(0, _s19_) : [];
+ v1NamedArgs = _box_0.options.$index(0, _s14_) != null ? type$.legacy_Map_of_legacy_Symbol_and_dynamic._as(_box_0.options.$index(0, _s14_)) : C.Map_empty0;
+ _this._seedBytes = _box_0.options.$index(0, "v1rng") != null ? P.Function_apply(type$.Function._as(_box_0.options.$index(0, "v1rng")), type$.nullable_List_dynamic._as(v1PositionalArgs), v1NamedArgs) : T.UuidUtil_mathRNG();
+ if (_box_0.options.$index(0, _s18_) != null)
+ _box_0.options.$index(0, _s18_);
+ if (_box_0.options.$index(0, _s13_) != null)
+ type$.legacy_Map_of_legacy_Symbol_and_dynamic._as(_box_0.options.$index(0, _s13_));
+ _this._nodeId = [J.$or$bn(J.$index$asx(_this._seedBytes, 0), 1), J.$index$asx(_this._seedBytes, 1), J.$index$asx(_this._seedBytes, 2), J.$index$asx(_this._seedBytes, 3), J.$index$asx(_this._seedBytes, 4), J.$index$asx(_this._seedBytes, 5)];
+ t1 = J.$shl$n(J.$index$asx(_this._seedBytes, 6), 8);
+ t2 = J.$index$asx(_this._seedBytes, 7);
+ if (typeof t2 !== "number")
+ return H.iae(t2);
+ _this._clockSeq = (t1 | t2) & 262143;
+ },
+ v1$0: function() {
+ var t1, buf, options, clockSeq, mSecs, nSecs, dt, t2, tl, tmh, node, n, _this = this,
+ _s8_ = "clockSeq",
+ _s5_ = "nSecs";
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(null);
+ t1 = new Array(16);
+ t1.fixed$length = Array;
+ buf = H.setRuntimeTypeInfo(t1, type$.JSArray_legacy_int);
+ options = new H.JsLinkedHashMap(type$.JsLinkedHashMap_of_legacy_String_and_dynamic);
+ clockSeq = options.$index(0, _s8_) != null ? options.$index(0, _s8_) : _this._clockSeq;
+ mSecs = options.$index(0, "mSecs") != null ? options.$index(0, "mSecs") : Date.now();
+ nSecs = options.$index(0, _s5_) != null ? options.$index(0, _s5_) : _this._lastNSecs + 1;
+ t1 = J.getInterceptor$n(mSecs);
+ dt = J.$add$ansx(t1.$sub(mSecs, _this._lastMSecs), J.$div$n(J.$sub$n(nSecs, _this._lastNSecs), 10000));
+ t2 = J.getInterceptor$n(dt);
+ if (t2.$lt(dt, 0) && options.$index(0, _s8_) == null)
+ clockSeq = J.$and$bn(J.$add$ansx(clockSeq, 1), 16383);
+ if ((t2.$lt(dt, 0) || t1.$gt(mSecs, _this._lastMSecs)) && options.$index(0, _s5_) == null)
+ nSecs = 0;
+ if (J.$ge$n(nSecs, 10000))
+ throw H.wrapException(P.Exception_Exception("uuid.v1(): Can't create more than 10M uuids/sec"));
+ H._asIntS(mSecs);
+ _this._lastMSecs = mSecs;
+ H._asIntS(nSecs);
+ _this._lastNSecs = nSecs;
+ _this._clockSeq = clockSeq;
+ mSecs += 122192928e5;
+ tl = C.JSInt_methods.$mod((mSecs & 268435455) * 10000 + nSecs, 4294967296);
+ C.JSArray_methods.$indexSet(buf, 0, C.JSInt_methods._shrOtherPositive$1(tl, 24) & 255);
+ C.JSArray_methods.$indexSet(buf, 1, C.JSInt_methods._shrOtherPositive$1(tl, 16) & 255);
+ C.JSArray_methods.$indexSet(buf, 2, C.JSInt_methods._shrOtherPositive$1(tl, 8) & 255);
+ C.JSArray_methods.$indexSet(buf, 3, tl & 255);
+ tmh = C.JSDouble_methods.floor$0(mSecs / 4294967296 * 10000) & 268435455;
+ C.JSArray_methods.$indexSet(buf, 4, tmh >>> 8 & 255);
+ C.JSArray_methods.$indexSet(buf, 5, tmh & 255);
+ C.JSArray_methods.$indexSet(buf, 6, tmh >>> 24 & 15 | 16);
+ C.JSArray_methods.$indexSet(buf, 7, tmh >>> 16 & 255);
+ t1 = J.getInterceptor$n(clockSeq);
+ C.JSArray_methods.$indexSet(buf, 8, (t1.$shr(clockSeq, 8) | 128) >>> 0);
+ C.JSArray_methods.$indexSet(buf, 9, H._asIntS(t1.$and(clockSeq, 255)));
+ node = options.$index(0, "node") != null ? options.$index(0, "node") : _this._nodeId;
+ for (t1 = J.getInterceptor$asx(node), n = 0; n < 6; ++n)
+ C.JSArray_methods.$indexSet(buf, 10 + n, H._asIntS(t1.$index(node, n)));
+ type$.legacy_List_legacy_int._as(buf);
+ t1 = _this._byteToHex;
+ t1 = H.S((t1 && C.JSArray_methods).$index(t1, buf[0]));
+ t2 = _this._byteToHex;
+ t2 = t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[1]));
+ t1 = _this._byteToHex;
+ t1 = t2 + H.S((t1 && C.JSArray_methods).$index(t1, buf[2]));
+ t2 = _this._byteToHex;
+ t2 = t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[3])) + "-";
+ t1 = _this._byteToHex;
+ t1 = t2 + H.S((t1 && C.JSArray_methods).$index(t1, buf[4]));
+ t2 = _this._byteToHex;
+ t2 = t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[5])) + "-";
+ t1 = _this._byteToHex;
+ t1 = t2 + H.S((t1 && C.JSArray_methods).$index(t1, buf[6]));
+ t2 = _this._byteToHex;
+ t2 = t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[7])) + "-";
+ t1 = _this._byteToHex;
+ t1 = t2 + H.S((t1 && C.JSArray_methods).$index(t1, buf[8]));
+ t2 = _this._byteToHex;
+ t2 = t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[9])) + "-";
+ t1 = _this._byteToHex;
+ t1 = t2 + H.S((t1 && C.JSArray_methods).$index(t1, buf[10]));
+ t2 = _this._byteToHex;
+ t2 = t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[11]));
+ t1 = _this._byteToHex;
+ t1 = t2 + H.S((t1 && C.JSArray_methods).$index(t1, buf[12]));
+ t2 = _this._byteToHex;
+ t2 = t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[13]));
+ t1 = _this._byteToHex;
+ t1 = t2 + H.S((t1 && C.JSArray_methods).$index(t1, buf[14]));
+ t2 = _this._byteToHex;
+ return t1 + H.S((t2 && C.JSArray_methods).$index(t2, buf[15]));
+ },
+ set$_byteToHex: function(_byteToHex) {
+ this._byteToHex = type$.legacy_List_legacy_String._as(_byteToHex);
+ },
+ set$_hexToByte: function(_hexToByte) {
+ this._hexToByte = type$.legacy_Map_of_legacy_String_and_legacy_int._as(_hexToByte);
+ }
+ };
+ Q.createServiceObject_closure.prototype = {
+ call$1: function(e) {
+ return Q.createServiceObject(e, this.expectedTypes);
+ },
+ $signature: 29
+ };
+ Q._createSpecificObject_closure.prototype = {
+ call$1: function(e) {
+ return this.creator.call$1(type$.legacy_Map_of_legacy_String_and_dynamic._as(e));
+ },
+ $signature: 3
+ };
+ Q.VmService.prototype = {
+ _getEventController$1: function(eventName) {
+ var t1 = this._eventControllers,
+ controller = t1.$index(0, eventName);
+ if (controller == null) {
+ controller = P.StreamController_StreamController$broadcast(false, type$.legacy_Event);
+ t1.$indexSet(0, eventName, controller);
+ }
+ return controller;
+ },
+ VmService$5$disposeHandler$log$streamClosed: function(inStream, writeMessage, disposeHandler, log, streamClosed) {
+ var _this = this;
+ inStream.listen$2$onDone(_this.get$_processMessage(), new Q.VmService_closure(_this));
+ _this._writeMessage = writeMessage;
+ _this._log = new Q._NullLog();
+ _this.set$_disposeHandler(disposeHandler);
+ },
+ _processMessage$1: function(message) {
+ var t1, _this = this;
+ if (typeof message == "string")
+ _this._processMessageStr$1(message);
+ else if (type$.legacy_List_legacy_int._is(message))
+ _this._processMessageByteData$1(H.NativeByteData_NativeByteData$view(new Uint8Array(H._ensureNativeList(message)).buffer, 0, null));
+ else if (type$.legacy_ByteData._is(message))
+ _this._processMessageByteData$1(message);
+ else {
+ t1 = _this._log;
+ J.get$runtimeType$(message).toString$0(0);
+ t1.toString;
+ }
+ },
+ _processMessageByteData$1: function(bytes) {
+ var t2, t3, meta, data, map, streamId, $event,
+ dataOffset = C.NativeByteData_methods._getUint32$2(bytes, 0, true),
+ metaLength = dataOffset - 4,
+ t1 = bytes.byteLength;
+ if (typeof t1 !== "number")
+ return t1.$sub();
+ t2 = bytes.buffer;
+ t3 = bytes.byteOffset;
+ if (typeof t3 !== "number")
+ return t3.$add();
+ t3 += 4;
+ H._checkViewArguments(t2, t3, metaLength);
+ t2 = new Uint8Array(t2, t3, metaLength);
+ type$.List_int._as(t2);
+ meta = C.Utf8Decoder_false.convert$1(t2);
+ t2 = bytes.buffer;
+ t3 = bytes.byteOffset;
+ if (typeof t3 !== "number")
+ return t3.$add();
+ data = H.NativeByteData_NativeByteData$view(t2, t3 + dataOffset, t1 - dataOffset);
+ map = C.C_JsonCodec.decode$2$reviver(meta, null);
+ if (map != null && J.$eq$(J.$index$asx(map, "method"), "streamNotify")) {
+ t1 = J.getInterceptor$asx(map);
+ streamId = H._asStringS(J.$index$asx(t1.$index(map, "params"), "streamId"));
+ $event = type$.legacy_Map_dynamic_dynamic._as(J.$index$asx(t1.$index(map, "params"), "event"));
+ $event.$indexSet(0, "data", data);
+ this._getEventController$1(streamId).add$1(0, type$.legacy_Event._as(Q.createServiceObject($event, C.List_Event)));
+ }
+ },
+ _processMessageStr$1: function(message) {
+ var e, s, exception, t1, t2, completer, methodName, returnTypes, result, type, _this = this, _s2_ = "id", _s5_ = "error", json = null;
+ try {
+ _this._onReceive.add$1(0, message);
+ json = C.C_JsonCodec.decode$2$reviver(message, null);
+ } catch (exception) {
+ e = H.unwrapException(exception);
+ s = H.getTraceFromException(exception);
+ t1 = _this._log;
+ H.S(e);
+ H.S(s);
+ t1.toString;
+ return;
+ }
+ if (json.containsKey$1("method")) {
+ t1 = type$.legacy_Map_of_legacy_String_and_dynamic;
+ if (json.containsKey$1(_s2_))
+ _this._processRequest$1(t1._as(json));
+ else
+ _this._processNotification$1(t1._as(json));
+ } else {
+ if (json.containsKey$1(_s2_))
+ t1 = json.containsKey$1("result") || json.containsKey$1(_s5_);
+ else
+ t1 = false;
+ if (t1) {
+ t1 = type$.legacy_Map_of_legacy_String_and_dynamic;
+ t2 = t1._as(json);
+ completer = _this._completers.remove$1(0, t2.$index(0, _s2_));
+ methodName = _this._methodCalls.remove$1(0, t2.$index(0, _s2_));
+ returnTypes = $._methodReturnTypes.$index(0, methodName);
+ if (completer == null) {
+ t1 = _this._log;
+ C.C_JsonCodec.encode$2$toEncodable(t2, null);
+ t1.toString;
+ } else if (t2.$index(0, _s5_) != null) {
+ t1 = t2.$index(0, _s5_);
+ t2 = J.getInterceptor$asx(t1);
+ completer.completeError$1(new Q.RPCError(methodName, H._asIntS(t2.$index(t1, "code")), H._asStringS(t2.$index(t1, "message")), type$.legacy_Map_dynamic_dynamic._as(t2.$index(t1, "data"))));
+ } else {
+ result = t1._as(t2.$index(0, "result"));
+ type = H._asStringS(result.$index(0, "type"));
+ if (type === "Sentinel") {
+ t1 = Q.Sentinel$_fromJson(result);
+ completer.completeError$1(new Q.SentinelException(methodName, t1));
+ } else if ($._typeFactories.$index(0, type) == null) {
+ t1 = Q.Response$_fromJson(result);
+ completer.complete$1(t1);
+ } else
+ completer.complete$1(Q.createServiceObject(result, returnTypes));
+ }
+ } else
+ _this._log.toString;
+ }
+ },
+ _processRequest$1: function(json) {
+ return this._processRequest$body$VmService(type$.legacy_Map_of_legacy_String_and_dynamic._as(json));
+ },
+ _processRequest$body$VmService: function(json) {
+ var $async$goto = 0,
+ $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
+ $async$self = this, m, message, t1, t2;
+ var $async$_processRequest$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
+ if ($async$errorCode === 1)
+ return P._asyncRethrow($async$result, $async$completer);
+ while (true)
+ switch ($async$goto) {
+ case 0:
+ // Function start
+ t1 = H._asStringS(json.$index(0, "method"));
+ t2 = json.$index(0, "params");
+ if (t2 == null)
+ t2 = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.dynamic);
+ $async$goto = 2;
+ return P._asyncAwait($async$self._routeRequest$2(t1, type$.legacy_Map_of_legacy_String_and_dynamic._as(t2)), $async$_processRequest$1);
+ case 2:
+ // returning from await.
+ m = $async$result;
+ m.$indexSet(0, "id", json.$index(0, "id"));
+ m.$indexSet(0, "jsonrpc", "2.0");
+ message = C.C_JsonCodec.encode$2$toEncodable(m, null);
+ $async$self._onSend.add$1(0, message);
+ $async$self._writeMessage.call$1(message);
+ // implicit return
+ return P._asyncReturn(null, $async$completer);
+ }
+ });
+ return P._asyncStartSync($async$_processRequest$1, $async$completer);
+ },
+ _processNotification$1: function(json) {
+ return this._processNotification$body$VmService(type$.legacy_Map_of_legacy_String_and_dynamic._as(json));
+ },
+ _processNotification$body$VmService: function(json) {
+ var $async$goto = 0,
+ $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
+ $async$self = this, method, t1;
+ var $async$_processNotification$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
+ if ($async$errorCode === 1)
+ return P._asyncRethrow($async$result, $async$completer);
+ while (true)
+ switch ($async$goto) {
+ case 0:
+ // Function start
+ method = H._asStringS(json.$index(0, "method"));
+ t1 = json.$index(0, "params");
+ if (t1 == null)
+ t1 = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.dynamic);
+ type$.legacy_Map_dynamic_dynamic._as(t1);
+ $async$goto = method === "streamNotify" ? 2 : 4;
+ break;
+ case 2:
+ // then
+ $async$self._getEventController$1(H._asStringS(t1.$index(0, "streamId"))).add$1(0, type$.legacy_Event._as(Q.createServiceObject(t1.$index(0, "event"), C.List_Event)));
+ // goto join
+ $async$goto = 3;
+ break;
+ case 4:
+ // else
+ $async$goto = 5;
+ return P._asyncAwait($async$self._routeRequest$2(method, type$.legacy_Map_of_legacy_String_and_dynamic._as(t1)), $async$_processNotification$1);
+ case 5:
+ // returning from await.
+ case 3:
+ // join
+ // implicit return
+ return P._asyncReturn(null, $async$completer);
+ }
+ });
+ return P._asyncStartSync($async$_processNotification$1, $async$completer);
+ },
+ _routeRequest$2: function(method, params) {
+ type$.legacy_Map_of_legacy_String_and_dynamic._as(params);
+ return this._routeRequest$body$VmService(method, params);
+ },
+ _routeRequest$body$VmService: function(method, params) {
+ var $async$goto = 0,
+ $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Map_dynamic_dynamic),
+ $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, e, st, error, exception, t2, t3, t4, t1, $async$exception;
+ var $async$_routeRequest$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
+ if ($async$errorCode === 1) {
+ $async$currentError = $async$result;
+ $async$goto = $async$handler;
+ }
+ while (true)
+ switch ($async$goto) {
+ case 0:
+ // Function start
+ t1 = $async$self._services;
+ if (!t1.containsKey$1(method)) {
+ t1 = type$.dynamic;
+ $async$returnValue = P.LinkedHashMap_LinkedHashMap$_literal(["error", new Q.RPCError(method, -32601, "method not found '" + H.S(method) + "'", null).toMap$0()], t1, t1);
+ // goto return
+ $async$goto = 1;
+ break;
+ }
+ $async$handler = 4;
+ $async$goto = 7;
+ return P._asyncAwait(t1.$index(0, method).call$1(params), $async$_routeRequest$2);
+ case 7:
+ // returning from await.
+ t1 = $async$result;
+ $async$returnValue = t1;
+ // goto return
+ $async$goto = 1;
+ break;
+ $async$handler = 2;
+ // goto after finally
+ $async$goto = 6;
+ break;
+ case 4:
+ // catch
+ $async$handler = 3;
+ $async$exception = $async$currentError;
+ e = H.unwrapException($async$exception);
+ st = H.getTraceFromException($async$exception);
+ t1 = H.S(e);
+ t2 = H.S(st);
+ t3 = type$.dynamic;
+ t4 = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, t3);
+ t4.$indexSet(0, "details", t2);
+ error = new Q.RPCError(method, -32000, t1, t4);
+ $async$returnValue = P.LinkedHashMap_LinkedHashMap$_literal(["error", error.toMap$0()], t3, t3);
+ // goto return
+ $async$goto = 1;
+ break;
+ // goto after finally
+ $async$goto = 6;
+ break;
+ case 3:
+ // uncaught
+ // goto rethrow
+ $async$goto = 2;
+ break;
+ case 6:
+ // after finally
+ case 1:
+ // return
+ return P._asyncReturn($async$returnValue, $async$completer);
+ case 2:
+ // rethrow
+ return P._asyncRethrow($async$currentError, $async$completer);
+ }
+ });
+ return P._asyncStartSync($async$_routeRequest$2, $async$completer);
+ },
+ set$_disposeHandler: function(_disposeHandler) {
+ type$.legacy_legacy_Future_dynamic_Function._as(_disposeHandler);
+ }
+ };
+ Q.VmService_closure.prototype = {
+ call$0: function() {
+ return this.$this._onDoneCompleter.complete$0();
+ },
+ "call*": "call$0",
+ $requiredArgCount: 0,
+ $signature: 0
+ };
+ Q.RPCError.prototype = {
+ get$details: function() {
+ var t1 = this.data;
+ return H._asStringS(t1 == null ? null : t1.$index(0, "details"));
+ },
+ toMap$0: function() {
+ var map = P.LinkedHashMap_LinkedHashMap$_literal(["code", this.code, "message", this.message], type$.legacy_String, type$.dynamic),
+ t1 = this.data;
+ if (t1 != null)
+ map.$indexSet(0, "data", t1);
+ return map;
+ },
+ toString$0: function(_) {
+ var _this = this,
+ t1 = _this.callingMethod,
+ t2 = _this.code,
+ t3 = _this.message;
+ if (_this.get$details() == null)
+ return H.S(t1) + ": (" + H.S(t2) + ") " + H.S(t3);
+ else
+ return H.S(t1) + ": (" + H.S(t2) + ") " + H.S(t3) + "\n" + H.S(_this.get$details());
+ }
+ };
+ Q.SentinelException.prototype = {
+ toString$0: function(_) {
+ return H.S(this.sentinel) + " from " + H.S(this.callingMethod) + "()";
+ }
+ };
+ Q.ExtensionData.prototype = {
+ toString$0: function(_) {
+ return "[ExtensionData " + this.data.toString$0(0) + "]";
+ }
+ };
+ Q._NullLog.prototype = {$isLog: 1};
+ Q.AllocationProfile.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5, _this = this,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "AllocationProfile");
+ t3 = _this.members;
+ t3.toString;
+ t4 = H._arrayInstanceType(t3);
+ t5 = t4._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["members", P.List_List$from(new H.MappedListIterable(t3, t4._eval$1("Map<String*,@>*(1)")._as(new Q.AllocationProfile_toJson_closure()), t5), true, t5._eval$1("ListIterable.E")), "memoryUsage", _this.memoryUsage.toJson$0()], t1, t2));
+ Q._setIfNotNull(json, "dateLastAccumulatorReset", _this.dateLastAccumulatorReset);
+ Q._setIfNotNull(json, "dateLastServiceGC", _this.dateLastServiceGC);
+ return json;
+ },
+ toString$0: function(_) {
+ return "[AllocationProfile type: " + H.S(this.type) + ", members: " + H.S(this.members) + ", memoryUsage: " + H.S(this.memoryUsage) + "]";
+ },
+ set$members: function(members) {
+ this.members = type$.legacy_List_legacy_ClassHeapStats._as(members);
+ }
+ };
+ Q.AllocationProfile_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_ClassHeapStats._as(f).toJson$0();
+ },
+ $signature: 30
+ };
+ Q.BoundField.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["decl", this.decl.toJson$0(), "value", this.value.toJson$0()], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[BoundField decl: " + H.S(this.decl) + ", value: " + H.S(this.value) + "]";
+ }
+ };
+ Q.BoundVariable.prototype = {
+ toJson$0: function() {
+ var _this = this,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "BoundVariable");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", _this.name, "value", _this.value.toJson$0(), "declarationTokenPos", _this.declarationTokenPos, "scopeStartTokenPos", _this.scopeStartTokenPos, "scopeEndTokenPos", _this.scopeEndTokenPos], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[BoundVariable type: " + H.S(_this.type) + ", name: " + H.S(_this.name) + ", value: " + H.S(_this.value) + ", declarationTokenPos: " + H.S(_this.declarationTokenPos) + ", scopeStartTokenPos: " + H.S(_this.scopeStartTokenPos) + ", scopeEndTokenPos: " + H.S(_this.scopeEndTokenPos) + "]";
+ }
+ };
+ Q.Breakpoint.prototype = {
+ toJson$0: function() {
+ var _this = this,
+ json = _this.super$Obj$toJson();
+ json.$indexSet(0, "type", "Breakpoint");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["breakpointNumber", _this.breakpointNumber, "resolved", _this.resolved, "location", _this.location.toJson$0()], type$.legacy_String, type$.dynamic));
+ Q._setIfNotNull(json, "isSyntheticAsyncContinuation", _this.isSyntheticAsyncContinuation);
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.Breakpoint && this.id == other.id;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[Breakpoint type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", breakpointNumber: " + H.S(_this.breakpointNumber) + ", resolved: " + H.S(_this.resolved) + ", location: " + H.S(_this.location) + "]";
+ }
+ };
+ Q.ClassRef.prototype = {
+ toJson$0: function() {
+ var json = this.super$ObjRef$toJson();
+ json.$indexSet(0, "type", "@Class");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name], type$.legacy_String, type$.dynamic));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return type$.legacy_ClassRef._is(other) && this.id == other.get$id(other);
+ },
+ toString$0: function(_) {
+ return "[ClassRef type: " + H.S(this.type) + ", id: " + H.S(this.id) + ", name: " + H.S(this.name) + "]";
+ }
+ };
+ Q.Class.prototype = {
+ toJson$0: function() {
+ var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, _this = this, _null = null,
+ json = _this.super$Obj$toJson();
+ json.$indexSet(0, "type", "Class");
+ t1 = _this.name;
+ t2 = _this.isAbstract;
+ t3 = _this.isConst;
+ t4 = _this.library.toJson$0();
+ t5 = _this.interfaces;
+ t5.toString;
+ t6 = H._arrayInstanceType(t5);
+ t7 = t6._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ t7 = P.List_List$from(new H.MappedListIterable(t5, t6._eval$1("Map<String*,@>*(1)")._as(new Q.Class_toJson_closure()), t7), true, t7._eval$1("ListIterable.E"));
+ t6 = _this.fields;
+ t6.toString;
+ t5 = H._arrayInstanceType(t6);
+ t8 = t5._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ t8 = P.List_List$from(new H.MappedListIterable(t6, t5._eval$1("Map<String*,@>*(1)")._as(new Q.Class_toJson_closure0()), t8), true, t8._eval$1("ListIterable.E"));
+ t5 = _this.functions;
+ t5.toString;
+ t6 = H._arrayInstanceType(t5);
+ t9 = t6._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ t9 = P.List_List$from(new H.MappedListIterable(t5, t6._eval$1("Map<String*,@>*(1)")._as(new Q.Class_toJson_closure1()), t9), true, t9._eval$1("ListIterable.E"));
+ t6 = _this.subclasses;
+ t6.toString;
+ t5 = H._arrayInstanceType(t6);
+ t10 = t5._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "abstract", t2, "const", t3, "library", t4, "interfaces", t7, "fields", t8, "functions", t9, "subclasses", P.List_List$from(new H.MappedListIterable(t6, t5._eval$1("Map<String*,@>*(1)")._as(new Q.Class_toJson_closure2()), t10), true, t10._eval$1("ListIterable.E"))], type$.legacy_String, type$.dynamic));
+ t10 = _this.error;
+ Q._setIfNotNull(json, "error", t10 == null ? _null : t10.toJson$0());
+ t1 = _this.location;
+ Q._setIfNotNull(json, "location", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.superClass;
+ Q._setIfNotNull(json, "super", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.superType;
+ Q._setIfNotNull(json, "superType", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.mixin;
+ Q._setIfNotNull(json, "mixin", t1 == null ? _null : t1.toJson$0());
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.Class && this.id == other.id;
+ },
+ toString$0: function(_) {
+ return "[Class]";
+ },
+ set$interfaces: function(interfaces) {
+ this.interfaces = type$.legacy_List_legacy_InstanceRef._as(interfaces);
+ },
+ set$fields: function(fields) {
+ this.fields = type$.legacy_List_legacy_FieldRef._as(fields);
+ },
+ set$functions: function(functions) {
+ this.functions = type$.legacy_List_legacy_FuncRef._as(functions);
+ },
+ set$subclasses: function(subclasses) {
+ this.subclasses = type$.legacy_List_legacy_ClassRef._as(subclasses);
+ },
+ $isClassRef: 1
+ };
+ Q.Class_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_InstanceRef._as(f).toJson$0();
+ },
+ $signature: 20
+ };
+ Q.Class_toJson_closure0.prototype = {
+ call$1: function(f) {
+ return type$.legacy_FieldRef._as(f).toJson$0();
+ },
+ $signature: 21
+ };
+ Q.Class_toJson_closure1.prototype = {
+ call$1: function(f) {
+ return type$.legacy_FuncRef._as(f).toJson$0();
+ },
+ $signature: 22
+ };
+ Q.Class_toJson_closure2.prototype = {
+ call$1: function(f) {
+ return type$.legacy_ClassRef._as(f).toJson$0();
+ },
+ $signature: 8
+ };
+ Q.ClassHeapStats.prototype = {
+ toJson$0: function() {
+ var _this = this,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "ClassHeapStats");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["class", _this.classRef.toJson$0(), "accumulatedSize", _this.accumulatedSize, "bytesCurrent", _this.bytesCurrent, "instancesAccumulated", _this.instancesAccumulated, "instancesCurrent", _this.instancesCurrent], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[ClassHeapStats type: " + H.S(_this.type) + ", classRef: " + H.S(_this.classRef) + ", accumulatedSize: " + H.S(_this.accumulatedSize) + ", bytesCurrent: " + H.S(_this.bytesCurrent) + ", instancesAccumulated: " + H.S(_this.instancesAccumulated) + ", instancesCurrent: " + H.S(_this.instancesCurrent) + "]";
+ }
+ };
+ Q.ClassList.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "ClassList");
+ t3 = this.classes;
+ t3.toString;
+ t4 = H._arrayInstanceType(t3);
+ t5 = t4._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["classes", P.List_List$from(new H.MappedListIterable(t3, t4._eval$1("Map<String*,@>*(1)")._as(new Q.ClassList_toJson_closure()), t5), true, t5._eval$1("ListIterable.E"))], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[ClassList type: " + H.S(this.type) + ", classes: " + H.S(this.classes) + "]";
+ },
+ set$classes: function(classes) {
+ this.classes = type$.legacy_List_legacy_ClassRef._as(classes);
+ }
+ };
+ Q.ClassList_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_ClassRef._as(f).toJson$0();
+ },
+ $signature: 8
+ };
+ Q.ClientName.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "ClientName");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[ClientName type: " + H.S(this.type) + ", name: " + H.S(this.name) + "]";
+ }
+ };
+ Q.CodeRef.prototype = {
+ toJson$0: function() {
+ var json = this.super$ObjRef$toJson();
+ json.$indexSet(0, "type", "@Code");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name, "kind", this.kind], type$.legacy_String, type$.dynamic));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return type$.legacy_CodeRef._is(other) && this.id == other.id;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[CodeRef type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", name: " + H.S(_this.name) + ", kind: " + H.S(_this.kind) + "]";
+ }
+ };
+ Q.Code.prototype = {
+ toJson$0: function() {
+ var json = this.super$ObjRef$toJson();
+ json.$indexSet(0, "type", "Code");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name, "kind", this.kind], type$.legacy_String, type$.dynamic));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.Code && this.id == other.id;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[Code type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", name: " + H.S(_this.name) + ", kind: " + H.S(_this.kind) + "]";
+ },
+ $isCodeRef: 1
+ };
+ Q.ContextRef.prototype = {
+ toJson$0: function() {
+ var json = this.super$ObjRef$toJson();
+ json.$indexSet(0, "type", "@Context");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["length", this.length], type$.legacy_String, type$.dynamic));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return type$.legacy_ContextRef._is(other) && this.id == other.get$id(other);
+ },
+ toString$0: function(_) {
+ return "[ContextRef type: " + H.S(this.type) + ", id: " + H.S(this.id) + ", length: " + H.S(this.length) + "]";
+ },
+ get$length: function(receiver) {
+ return this.length;
+ }
+ };
+ Q.Context.prototype = {
+ toJson$0: function() {
+ var t1, t2, t3, t4, _this = this,
+ json = _this.super$Obj$toJson();
+ json.$indexSet(0, "type", "Context");
+ t1 = _this.length;
+ t2 = _this.variables;
+ t2.toString;
+ t3 = H._arrayInstanceType(t2);
+ t4 = t3._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["length", t1, "variables", P.List_List$from(new H.MappedListIterable(t2, t3._eval$1("Map<String*,@>*(1)")._as(new Q.Context_toJson_closure()), t4), true, t4._eval$1("ListIterable.E"))], type$.legacy_String, type$.dynamic));
+ t4 = _this.parent;
+ Q._setIfNotNull(json, "parent", t4 == null ? null : t4.toJson$0());
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.Context && this.id == other.id;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[Context type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", length: " + H.S(_this.length) + ", variables: " + H.S(_this.variables) + "]";
+ },
+ set$variables: function(variables) {
+ this.variables = type$.legacy_List_legacy_ContextElement._as(variables);
+ },
+ $isContextRef: 1,
+ get$length: function(receiver) {
+ return this.length;
+ }
+ };
+ Q.Context_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_ContextElement._as(f).toJson$0();
+ },
+ $signature: 35
+ };
+ Q.ContextElement.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["value", this.value.toJson$0()], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[ContextElement value: " + H.S(this.value) + "]";
+ }
+ };
+ Q.CpuSamples.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, _this = this,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "CpuSamples");
+ t3 = _this.samplePeriod;
+ t4 = _this.maxStackDepth;
+ t5 = _this.sampleCount;
+ t6 = _this.timeSpan;
+ t7 = _this.timeOriginMicros;
+ t8 = _this.timeExtentMicros;
+ t9 = _this.pid;
+ t10 = _this.functions;
+ t10.toString;
+ t11 = H._arrayInstanceType(t10);
+ t12 = t11._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ t12 = P.List_List$from(new H.MappedListIterable(t10, t11._eval$1("Map<String*,@>*(1)")._as(new Q.CpuSamples_toJson_closure()), t12), true, t12._eval$1("ListIterable.E"));
+ t11 = _this.samples;
+ t11.toString;
+ t10 = H._arrayInstanceType(t11);
+ t13 = t10._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["samplePeriod", t3, "maxStackDepth", t4, "sampleCount", t5, "timeSpan", t6, "timeOriginMicros", t7, "timeExtentMicros", t8, "pid", t9, "functions", t12, "samples", P.List_List$from(new H.MappedListIterable(t11, t10._eval$1("Map<String*,@>*(1)")._as(new Q.CpuSamples_toJson_closure0()), t13), true, t13._eval$1("ListIterable.E"))], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[CpuSamples]";
+ },
+ set$functions: function(functions) {
+ this.functions = type$.legacy_List_legacy_ProfileFunction._as(functions);
+ },
+ set$samples: function(samples) {
+ this.samples = type$.legacy_List_legacy_CpuSample._as(samples);
+ }
+ };
+ Q.CpuSamples_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_ProfileFunction._as(f).toJson$0();
+ },
+ $signature: 36
+ };
+ Q.CpuSamples_toJson_closure0.prototype = {
+ call$1: function(f) {
+ return type$.legacy_CpuSample._as(f).toJson$0();
+ },
+ $signature: 37
+ };
+ Q.CpuSample.prototype = {
+ toJson$0: function() {
+ var t6, t7, _this = this,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
+ t3 = _this.tid,
+ t4 = _this.timestamp,
+ t5 = _this.stack;
+ t5.toString;
+ t6 = H._arrayInstanceType(t5);
+ t7 = t6._eval$1("MappedListIterable<1,int*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["tid", t3, "timestamp", t4, "stack", P.List_List$from(new H.MappedListIterable(t5, t6._eval$1("int*(1)")._as(new Q.CpuSample_toJson_closure()), t7), true, t7._eval$1("ListIterable.E"))], t1, t2));
+ Q._setIfNotNull(json, "vmTag", _this.vmTag);
+ Q._setIfNotNull(json, "userTag", _this.userTag);
+ Q._setIfNotNull(json, "truncated", _this.truncated);
+ return json;
+ },
+ toString$0: function(_) {
+ return "[CpuSample tid: " + H.S(this.tid) + ", timestamp: " + H.S(this.timestamp) + ", stack: " + H.S(this.stack) + "]";
+ },
+ set$stack: function(stack) {
+ this.stack = type$.legacy_List_legacy_int._as(stack);
+ }
+ };
+ Q.CpuSample_toJson_closure.prototype = {
+ call$1: function(f) {
+ return H._asIntS(f);
+ },
+ $signature: 4
+ };
+ Q.ErrorRef.prototype = {
+ toJson$0: function() {
+ var json = this.super$ObjRef$toJson();
+ json.$indexSet(0, "type", "@Error");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["kind", this.kind, "message", this.message], type$.legacy_String, type$.dynamic));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return type$.legacy_ErrorRef._is(other) && this.id == other.get$id(other);
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[ErrorRef type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", kind: " + H.S(_this.kind) + ", message: " + H.S(_this.message) + "]";
+ }
+ };
+ Q.Error.prototype = {
+ toJson$0: function() {
+ var t1, _this = this,
+ json = _this.super$Obj$toJson();
+ json.$indexSet(0, "type", "Error");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["kind", _this.kind, "message", _this.message], type$.legacy_String, type$.dynamic));
+ t1 = _this.exception;
+ Q._setIfNotNull(json, "exception", t1 == null ? null : t1.toJson$0());
+ t1 = _this.stacktrace;
+ Q._setIfNotNull(json, "stacktrace", t1 == null ? null : t1.toJson$0());
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.Error && this.id == other.id;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[Error type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", kind: " + H.S(_this.kind) + ", message: " + H.S(_this.message) + "]";
+ },
+ $isErrorRef: 1
+ };
+ Q.Event.prototype = {
+ toJson$0: function() {
+ var _this = this, _null = null,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "Event");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["kind", _this.kind, "timestamp", _this.timestamp], t1, t2));
+ t2 = _this.isolate;
+ Q._setIfNotNull(json, "isolate", t2 == null ? _null : t2.toJson$0());
+ t1 = _this.vm;
+ Q._setIfNotNull(json, "vm", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.breakpoint;
+ Q._setIfNotNull(json, "breakpoint", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.pauseBreakpoints;
+ if (t1 == null)
+ t1 = _null;
+ else {
+ t2 = H._arrayInstanceType(t1);
+ t2 = new H.MappedListIterable(t1, t2._eval$1("Map<String*,@>*(1)")._as(new Q.Event_toJson_closure()), t2._eval$1("MappedListIterable<1,Map<String*,@>*>"));
+ t1 = t2;
+ }
+ Q._setIfNotNull(json, "pauseBreakpoints", t1 == null ? _null : P.List_List$from(t1, true, t1.$ti._eval$1("ListIterable.E")));
+ t1 = _this.topFrame;
+ Q._setIfNotNull(json, "topFrame", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.exception;
+ Q._setIfNotNull(json, "exception", t1 == null ? _null : t1.toJson$0());
+ Q._setIfNotNull(json, "bytes", _this.bytes);
+ t1 = _this.inspectee;
+ Q._setIfNotNull(json, "inspectee", t1 == null ? _null : t1.toJson$0());
+ Q._setIfNotNull(json, "extensionRPC", _this.extensionRPC);
+ Q._setIfNotNull(json, "extensionKind", _this.extensionKind);
+ t1 = _this.extensionData;
+ Q._setIfNotNull(json, "extensionData", t1 == null ? _null : t1.data);
+ t1 = _this.timelineEvents;
+ if (t1 == null)
+ t1 = _null;
+ else {
+ t2 = H._arrayInstanceType(t1);
+ t2 = new H.MappedListIterable(t1, t2._eval$1("Map<String*,@>*(1)")._as(new Q.Event_toJson_closure0()), t2._eval$1("MappedListIterable<1,Map<String*,@>*>"));
+ t1 = t2;
+ }
+ Q._setIfNotNull(json, "timelineEvents", t1 == null ? _null : P.List_List$from(t1, true, t1.$ti._eval$1("ListIterable.E")));
+ t1 = _this.updatedStreams;
+ if (t1 == null)
+ t1 = _null;
+ else {
+ t2 = H._arrayInstanceType(t1);
+ t2 = new H.MappedListIterable(t1, t2._eval$1("String*(1)")._as(new Q.Event_toJson_closure1()), t2._eval$1("MappedListIterable<1,String*>"));
+ t1 = t2;
+ }
+ Q._setIfNotNull(json, "updatedStreams", t1 == null ? _null : P.List_List$from(t1, true, t1.$ti._eval$1("ListIterable.E")));
+ Q._setIfNotNull(json, "atAsyncSuspension", _this.atAsyncSuspension);
+ Q._setIfNotNull(json, "status", _this.status);
+ t1 = _this.logRecord;
+ Q._setIfNotNull(json, "logRecord", t1 == null ? _null : t1.toJson$0());
+ Q._setIfNotNull(json, "service", _this.service);
+ Q._setIfNotNull(json, "method", _this.method);
+ Q._setIfNotNull(json, "alias", _this.alias);
+ Q._setIfNotNull(json, "flag", _this.flag);
+ Q._setIfNotNull(json, "newValue", _this.newValue);
+ Q._setIfNotNull(json, "last", _this.last);
+ Q._setIfNotNull(json, "data", _this.data);
+ return json;
+ },
+ toString$0: function(_) {
+ return "[Event type: " + H.S(this.type) + ", kind: " + H.S(this.kind) + ", timestamp: " + H.S(this.timestamp) + "]";
+ },
+ set$pauseBreakpoints: function(pauseBreakpoints) {
+ this.pauseBreakpoints = type$.legacy_List_legacy_Breakpoint._as(pauseBreakpoints);
+ },
+ set$timelineEvents: function(timelineEvents) {
+ this.timelineEvents = type$.legacy_List_legacy_TimelineEvent._as(timelineEvents);
+ },
+ set$updatedStreams: function(updatedStreams) {
+ this.updatedStreams = type$.legacy_List_legacy_String._as(updatedStreams);
+ }
+ };
+ Q.Event_toJson_closure.prototype = {
+ call$1: function(f) {
+ type$.legacy_Breakpoint._as(f);
+ return f == null ? null : f.toJson$0();
+ },
+ $signature: 23
+ };
+ Q.Event_toJson_closure0.prototype = {
+ call$1: function(f) {
+ type$.legacy_TimelineEvent._as(f);
+ return f == null ? null : f.toJson$0();
+ },
+ $signature: 24
+ };
+ Q.Event_toJson_closure1.prototype = {
+ call$1: function(f) {
+ return H._asStringS(f);
+ },
+ $signature: 5
+ };
+ Q.FieldRef.prototype = {
+ toJson$0: function() {
+ var _this = this,
+ json = _this.super$ObjRef$toJson();
+ json.$indexSet(0, "type", "@Field");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", _this.name, "owner", _this.owner.toJson$0(), "declaredType", _this.declaredType.toJson$0(), "const", _this.isConst, "final", _this.isFinal, "static", _this.isStatic], type$.legacy_String, type$.dynamic));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return type$.legacy_FieldRef._is(other) && this.id == other.get$id(other);
+ },
+ toString$0: function(_) {
+ return "[FieldRef]";
+ }
+ };
+ Q.Field.prototype = {
+ toJson$0: function() {
+ var t1, _this = this,
+ json = _this.super$Obj$toJson();
+ json.$indexSet(0, "type", "Field");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", _this.name, "owner", _this.owner.toJson$0(), "declaredType", _this.declaredType.toJson$0(), "const", _this.isConst, "final", _this.isFinal, "static", _this.isStatic], type$.legacy_String, type$.dynamic));
+ t1 = _this.staticValue;
+ Q._setIfNotNull(json, "staticValue", t1 == null ? null : t1.toJson$0());
+ t1 = _this.location;
+ Q._setIfNotNull(json, "location", t1 == null ? null : t1.toJson$0());
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.Field && this.id == other.id;
+ },
+ toString$0: function(_) {
+ return "[Field]";
+ },
+ $isFieldRef: 1
+ };
+ Q.Flag.prototype = {
+ toJson$0: function() {
+ var _this = this,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", _this.name, "comment", _this.comment, "modified", _this.modified], t1, t2));
+ Q._setIfNotNull(json, "valueAsString", _this.valueAsString);
+ return json;
+ },
+ toString$0: function(_) {
+ return "[Flag name: " + H.S(this.name) + ", comment: " + H.S(this.comment) + ", modified: " + H.S(this.modified) + "]";
+ }
+ };
+ Q.FlagList.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "FlagList");
+ t3 = this.flags;
+ t3.toString;
+ t4 = H._arrayInstanceType(t3);
+ t5 = t4._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["flags", P.List_List$from(new H.MappedListIterable(t3, t4._eval$1("Map<String*,@>*(1)")._as(new Q.FlagList_toJson_closure()), t5), true, t5._eval$1("ListIterable.E"))], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[FlagList type: " + H.S(this.type) + ", flags: " + H.S(this.flags) + "]";
+ },
+ set$flags: function(flags) {
+ this.flags = type$.legacy_List_legacy_Flag._as(flags);
+ }
+ };
+ Q.FlagList_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_Flag._as(f).toJson$0();
+ },
+ $signature: 42
+ };
+ Q.Frame.prototype = {
+ toJson$0: function() {
+ var _this = this, _null = null,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "Frame");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["index", _this.index], t1, t2));
+ t2 = _this.$function;
+ Q._setIfNotNull(json, "function", t2 == null ? _null : t2.toJson$0());
+ t1 = _this.code;
+ Q._setIfNotNull(json, "code", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.location;
+ Q._setIfNotNull(json, "location", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.vars;
+ if (t1 == null)
+ t1 = _null;
+ else {
+ t2 = H._arrayInstanceType(t1);
+ t2 = new H.MappedListIterable(t1, t2._eval$1("Map<String*,@>*(1)")._as(new Q.Frame_toJson_closure()), t2._eval$1("MappedListIterable<1,Map<String*,@>*>"));
+ t1 = t2;
+ }
+ Q._setIfNotNull(json, "vars", t1 == null ? _null : P.List_List$from(t1, true, t1.$ti._eval$1("ListIterable.E")));
+ Q._setIfNotNull(json, "kind", _this.kind);
+ return json;
+ },
+ toString$0: function(_) {
+ return "[Frame type: " + H.S(this.type) + ", index: " + H.S(this.index) + "]";
+ },
+ set$vars: function(vars) {
+ this.vars = type$.legacy_List_legacy_BoundVariable._as(vars);
+ }
+ };
+ Q.Frame_toJson_closure.prototype = {
+ call$1: function(f) {
+ type$.legacy_BoundVariable._as(f);
+ return f == null ? null : f.toJson$0();
+ },
+ $signature: 43
+ };
+ Q.FuncRef.prototype = {
+ toJson$0: function() {
+ var _this = this,
+ json = _this.super$ObjRef$toJson();
+ json.$indexSet(0, "type", "@Function");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", _this.name, "owner", _this.owner.toJson$0(), "static", _this.isStatic, "const", _this.isConst], type$.legacy_String, type$.dynamic));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return type$.legacy_FuncRef._is(other) && this.id == other.get$id(other);
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[FuncRef type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", name: " + H.S(_this.name) + ", owner: " + H.S(_this.owner) + ", isStatic: " + H.S(_this.isStatic) + ", isConst: " + H.S(_this.isConst) + "]";
+ }
+ };
+ Q.Func.prototype = {
+ toJson$0: function() {
+ var t1, _this = this,
+ json = _this.super$Obj$toJson();
+ json.$indexSet(0, "type", "Function");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", _this.name, "owner", _this.owner.toJson$0(), "static", _this.isStatic, "const", _this.isConst], type$.legacy_String, type$.dynamic));
+ t1 = _this.location;
+ Q._setIfNotNull(json, "location", t1 == null ? null : t1.toJson$0());
+ t1 = _this.code;
+ Q._setIfNotNull(json, "code", t1 == null ? null : t1.toJson$0());
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.Func && this.id == other.id;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[Func type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", name: " + H.S(_this.name) + ", owner: " + H.S(_this.owner) + ", isStatic: " + H.S(_this.isStatic) + ", isConst: " + H.S(_this.isConst) + "]";
+ },
+ $isFuncRef: 1
+ };
+ Q.InstanceRef.prototype = {
+ InstanceRef$_fromJson$1: function(json) {
+ var t1, t2, _this = this;
+ _this.kind = H._asStringS(json.$index(0, "kind"));
+ t1 = type$.legacy_ClassRef;
+ _this.classRef = t1._as(Q.createServiceObject(json.$index(0, "class"), C.List_ClassRef));
+ _this.set$valueAsString(H._asStringS(json.$index(0, "valueAsString")));
+ t2 = json.$index(0, "valueAsStringIsTruncated");
+ _this.valueAsStringIsTruncated = H._asBoolS(t2 == null ? false : t2);
+ _this.length = H._asIntS(json.$index(0, "length"));
+ _this.name = H._asStringS(json.$index(0, "name"));
+ _this.typeClass = t1._as(Q.createServiceObject(json.$index(0, "typeClass"), C.List_ClassRef));
+ _this.parameterizedClass = t1._as(Q.createServiceObject(json.$index(0, "parameterizedClass"), C.List_ClassRef));
+ _this.pattern = type$.legacy_InstanceRef._as(Q.createServiceObject(json.$index(0, "pattern"), C.List_InstanceRef));
+ _this.closureFunction = type$.legacy_FuncRef._as(Q.createServiceObject(json.$index(0, "closureFunction"), C.List_FuncRef));
+ _this.closureContext = type$.legacy_ContextRef._as(Q.createServiceObject(json.$index(0, "closureContext"), C.List_ContextRef));
+ },
+ toJson$0: function() {
+ var t1, _this = this, _null = null,
+ json = _this.super$ObjRef$toJson();
+ json.$indexSet(0, "type", "@Instance");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["kind", _this.kind, "class", _this.classRef.toJson$0()], type$.legacy_String, type$.dynamic));
+ Q._setIfNotNull(json, "valueAsString", _this.get$valueAsString());
+ t1 = _this.valueAsStringIsTruncated;
+ Q._setIfNotNull(json, "valueAsStringIsTruncated", t1 === true);
+ Q._setIfNotNull(json, "length", _this.length);
+ Q._setIfNotNull(json, "name", _this.name);
+ t1 = _this.typeClass;
+ Q._setIfNotNull(json, "typeClass", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.parameterizedClass;
+ Q._setIfNotNull(json, "parameterizedClass", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.pattern;
+ Q._setIfNotNull(json, "pattern", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.closureFunction;
+ Q._setIfNotNull(json, "closureFunction", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.closureContext;
+ Q._setIfNotNull(json, "closureContext", t1 == null ? _null : t1.toJson$0());
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return type$.legacy_InstanceRef._is(other) && this.id == other.get$id(other);
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[InstanceRef type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", kind: " + H.S(_this.kind) + ", classRef: " + H.S(_this.classRef) + "]";
+ },
+ set$valueAsString: function(valueAsString) {
+ this.valueAsString = H._asStringS(valueAsString);
+ },
+ get$valueAsString: function() {
+ return this.valueAsString;
+ },
+ get$length: function(receiver) {
+ return this.length;
+ }
+ };
+ Q.Instance.prototype = {
+ Instance$_fromJson$1: function(json) {
+ var t1, t2, _this = this,
+ _s8_ = "elements",
+ _s12_ = "associations";
+ _this.kind = H._asStringS(json.$index(0, "kind"));
+ t1 = type$.legacy_ClassRef;
+ _this.Instance_classRef = t1._as(Q.createServiceObject(json.$index(0, "class"), C.List_ClassRef));
+ _this.set$valueAsString(H._asStringS(json.$index(0, "valueAsString")));
+ t2 = json.$index(0, "valueAsStringIsTruncated");
+ _this.valueAsStringIsTruncated = H._asBoolS(t2 == null ? false : t2);
+ _this.length = H._asIntS(json.$index(0, "length"));
+ _this.offset = H._asIntS(json.$index(0, "offset"));
+ _this.count = H._asIntS(json.$index(0, "count"));
+ _this.name = H._asStringS(json.$index(0, "name"));
+ _this.typeClass = t1._as(Q.createServiceObject(json.$index(0, "typeClass"), C.List_ClassRef));
+ _this.parameterizedClass = t1._as(Q.createServiceObject(json.$index(0, "parameterizedClass"), C.List_ClassRef));
+ _this.set$fields(json.$index(0, "fields") == null ? null : P.List_List$from(type$.Iterable_dynamic._as(Q.createServiceObject(json.$index(0, "fields"), C.List_BoundField)), true, type$.legacy_BoundField));
+ _this.elements = json.$index(0, _s8_) == null ? null : P.List_List$from(type$.Iterable_dynamic._as(Q.createServiceObject(json.$index(0, _s8_), C.List_dynamic)), true, type$.dynamic);
+ _this.set$associations(json.$index(0, _s12_) == null ? null : P.List_List$from(type$.Iterable_dynamic._as(Q._createSpecificObject(json.$index(0, _s12_), Q.vm_service_MapAssociation_parse$closure())), true, type$.legacy_MapAssociation));
+ _this.bytes = H._asStringS(json.$index(0, "bytes"));
+ t1 = type$.legacy_InstanceRef;
+ _this.mirrorReferent = t1._as(Q.createServiceObject(json.$index(0, "mirrorReferent"), C.List_InstanceRef));
+ _this.pattern = t1._as(Q.createServiceObject(json.$index(0, "pattern"), C.List_InstanceRef));
+ _this.closureFunction = type$.legacy_FuncRef._as(Q.createServiceObject(json.$index(0, "closureFunction"), C.List_FuncRef));
+ _this.closureContext = type$.legacy_ContextRef._as(Q.createServiceObject(json.$index(0, "closureContext"), C.List_ContextRef));
+ _this.isCaseSensitive = H._asBoolS(json.$index(0, "isCaseSensitive"));
+ _this.isMultiLine = H._asBoolS(json.$index(0, "isMultiLine"));
+ _this.propertyKey = t1._as(Q.createServiceObject(json.$index(0, "propertyKey"), C.List_InstanceRef));
+ _this.propertyValue = t1._as(Q.createServiceObject(json.$index(0, "propertyValue"), C.List_InstanceRef));
+ _this.typeArguments = type$.legacy_TypeArgumentsRef._as(Q.createServiceObject(json.$index(0, "typeArguments"), C.List_TypeArgumentsRef));
+ _this.parameterIndex = H._asIntS(json.$index(0, "parameterIndex"));
+ _this.targetType = t1._as(Q.createServiceObject(json.$index(0, "targetType"), C.List_InstanceRef));
+ _this.bound = t1._as(Q.createServiceObject(json.$index(0, "bound"), C.List_InstanceRef));
+ },
+ toJson$0: function() {
+ var t1, t2, _this = this, _null = null,
+ json = _this.super$Obj$toJson();
+ json.$indexSet(0, "type", "Instance");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["kind", _this.kind, "class", _this.Instance_classRef.toJson$0()], type$.legacy_String, type$.dynamic));
+ Q._setIfNotNull(json, "valueAsString", _this.get$valueAsString());
+ t1 = _this.valueAsStringIsTruncated;
+ Q._setIfNotNull(json, "valueAsStringIsTruncated", t1 === true);
+ Q._setIfNotNull(json, "length", _this.length);
+ Q._setIfNotNull(json, "offset", _this.offset);
+ Q._setIfNotNull(json, "count", _this.count);
+ Q._setIfNotNull(json, "name", _this.name);
+ t1 = _this.typeClass;
+ Q._setIfNotNull(json, "typeClass", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.parameterizedClass;
+ Q._setIfNotNull(json, "parameterizedClass", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.fields;
+ if (t1 == null)
+ t1 = _null;
+ else {
+ t2 = H._arrayInstanceType(t1);
+ t2 = new H.MappedListIterable(t1, t2._eval$1("Map<String*,@>*(1)")._as(new Q.Instance_toJson_closure()), t2._eval$1("MappedListIterable<1,Map<String*,@>*>"));
+ t1 = t2;
+ }
+ Q._setIfNotNull(json, "fields", t1 == null ? _null : P.List_List$from(t1, true, t1.$ti._eval$1("ListIterable.E")));
+ t1 = _this.elements;
+ if (t1 == null)
+ t1 = _null;
+ else {
+ t2 = H._arrayInstanceType(t1);
+ t2 = new H.MappedListIterable(t1, t2._eval$1("@(1)")._as(new Q.Instance_toJson_closure0()), t2._eval$1("MappedListIterable<1,@>"));
+ t1 = t2;
+ }
+ Q._setIfNotNull(json, "elements", t1 == null ? _null : P.List_List$from(t1, true, t1.$ti._eval$1("ListIterable.E")));
+ t1 = _this.associations;
+ if (t1 == null)
+ t1 = _null;
+ else {
+ t2 = H._arrayInstanceType(t1);
+ t2 = new H.MappedListIterable(t1, t2._eval$1("Map<String*,@>*(1)")._as(new Q.Instance_toJson_closure1()), t2._eval$1("MappedListIterable<1,Map<String*,@>*>"));
+ t1 = t2;
+ }
+ Q._setIfNotNull(json, "associations", t1 == null ? _null : P.List_List$from(t1, true, t1.$ti._eval$1("ListIterable.E")));
+ Q._setIfNotNull(json, "bytes", _this.bytes);
+ t1 = _this.mirrorReferent;
+ Q._setIfNotNull(json, "mirrorReferent", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.pattern;
+ Q._setIfNotNull(json, "pattern", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.closureFunction;
+ Q._setIfNotNull(json, "closureFunction", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.closureContext;
+ Q._setIfNotNull(json, "closureContext", t1 == null ? _null : t1.toJson$0());
+ Q._setIfNotNull(json, "isCaseSensitive", _this.isCaseSensitive);
+ Q._setIfNotNull(json, "isMultiLine", _this.isMultiLine);
+ t1 = _this.propertyKey;
+ Q._setIfNotNull(json, "propertyKey", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.propertyValue;
+ Q._setIfNotNull(json, "propertyValue", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.typeArguments;
+ Q._setIfNotNull(json, "typeArguments", t1 == null ? _null : t1.toJson$0());
+ Q._setIfNotNull(json, "parameterIndex", _this.parameterIndex);
+ t1 = _this.targetType;
+ Q._setIfNotNull(json, "targetType", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.bound;
+ Q._setIfNotNull(json, "bound", t1 == null ? _null : t1.toJson$0());
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.Instance && this.id == other.id;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[Instance type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", kind: " + H.S(_this.kind) + ", classRef: " + H.S(_this.Instance_classRef) + "]";
+ },
+ set$classRef: function(classRef) {
+ this.Instance_classRef = type$.legacy_ClassRef._as(classRef);
+ },
+ set$valueAsString: function(valueAsString) {
+ this.valueAsString = H._asStringS(valueAsString);
+ },
+ set$fields: function(fields) {
+ this.fields = type$.legacy_List_legacy_BoundField._as(fields);
+ },
+ set$associations: function(associations) {
+ this.associations = type$.legacy_List_legacy_MapAssociation._as(associations);
+ },
+ $isInstanceRef: 1,
+ get$classRef: function() {
+ return this.Instance_classRef;
+ },
+ get$valueAsString: function() {
+ return this.valueAsString;
+ },
+ get$length: function(receiver) {
+ return this.length;
+ }
+ };
+ Q.Instance_toJson_closure.prototype = {
+ call$1: function(f) {
+ type$.legacy_BoundField._as(f);
+ return f == null ? null : f.toJson$0();
+ },
+ $signature: 26
+ };
+ Q.Instance_toJson_closure0.prototype = {
+ call$1: function(f) {
+ return f == null ? null : f.toJson$0();
+ },
+ $signature: 3
+ };
+ Q.Instance_toJson_closure1.prototype = {
+ call$1: function(f) {
+ type$.legacy_MapAssociation._as(f);
+ return f == null ? null : f.toJson$0();
+ },
+ $signature: 45
+ };
+ Q.IsolateRef.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "@Isolate");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["id", this.id, "number", this.number, "name", this.name], t1, t2));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return type$.legacy_IsolateRef._is(other) && this.id == other.get$id(other);
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[IsolateRef type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", number: " + H.S(_this.number) + ", name: " + H.S(_this.name) + "]";
+ },
+ get$id: function(receiver) {
+ return this.id;
+ }
+ };
+ Q.Isolate.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, _this = this, _null = null,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "Isolate");
+ t3 = _this.id;
+ t4 = _this.number;
+ t5 = _this.name;
+ t6 = _this.startTime;
+ t7 = _this.runnable;
+ t8 = _this.livePorts;
+ t9 = _this.pauseOnExit;
+ t10 = _this.pauseEvent.toJson$0();
+ t11 = _this.libraries;
+ t11.toString;
+ t12 = H._arrayInstanceType(t11);
+ t13 = t12._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ t13 = P.List_List$from(new H.MappedListIterable(t11, t12._eval$1("Map<String*,@>*(1)")._as(new Q.Isolate_toJson_closure()), t13), true, t13._eval$1("ListIterable.E"));
+ t12 = _this.breakpoints;
+ t12.toString;
+ t11 = H._arrayInstanceType(t12);
+ t14 = t11._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["id", t3, "number", t4, "name", t5, "startTime", t6, "runnable", t7, "livePorts", t8, "pauseOnExit", t9, "pauseEvent", t10, "libraries", t13, "breakpoints", P.List_List$from(new H.MappedListIterable(t12, t11._eval$1("Map<String*,@>*(1)")._as(new Q.Isolate_toJson_closure0()), t14), true, t14._eval$1("ListIterable.E")), "exceptionPauseMode", _this.exceptionPauseMode], t1, t2));
+ t2 = _this.rootLib;
+ Q._setIfNotNull(json, "rootLib", t2 == null ? _null : t2.toJson$0());
+ t1 = _this.error;
+ Q._setIfNotNull(json, "error", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.extensionRPCs;
+ if (t1 == null)
+ t1 = _null;
+ else {
+ t2 = H._arrayInstanceType(t1);
+ t2 = new H.MappedListIterable(t1, t2._eval$1("String*(1)")._as(new Q.Isolate_toJson_closure1()), t2._eval$1("MappedListIterable<1,String*>"));
+ t1 = t2;
+ }
+ Q._setIfNotNull(json, "extensionRPCs", t1 == null ? _null : P.List_List$from(t1, true, t1.$ti._eval$1("ListIterable.E")));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.Isolate && this.id == other.id;
+ },
+ toString$0: function(_) {
+ return "[Isolate]";
+ },
+ set$libraries: function(libraries) {
+ this.libraries = type$.legacy_List_legacy_LibraryRef._as(libraries);
+ },
+ set$breakpoints: function(breakpoints) {
+ this.breakpoints = type$.legacy_List_legacy_Breakpoint._as(breakpoints);
+ },
+ set$extensionRPCs: function(extensionRPCs) {
+ this.extensionRPCs = type$.legacy_List_legacy_String._as(extensionRPCs);
+ },
+ $isIsolateRef: 1,
+ get$id: function(receiver) {
+ return this.id;
+ }
+ };
+ Q.Isolate_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_LibraryRef._as(f).toJson$0();
+ },
+ $signature: 46
+ };
+ Q.Isolate_toJson_closure0.prototype = {
+ call$1: function(f) {
+ return type$.legacy_Breakpoint._as(f).toJson$0();
+ },
+ $signature: 23
+ };
+ Q.Isolate_toJson_closure1.prototype = {
+ call$1: function(f) {
+ return H._asStringS(f);
+ },
+ $signature: 5
+ };
+ Q.IsolateGroupRef.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "@IsolateGroup");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["id", this.id, "number", this.number, "name", this.name], t1, t2));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return type$.legacy_IsolateGroupRef._is(other) && this.id == other.get$id(other);
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[IsolateGroupRef type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", number: " + H.S(_this.number) + ", name: " + H.S(_this.name) + "]";
+ },
+ get$id: function(receiver) {
+ return this.id;
+ }
+ };
+ Q.IsolateGroup.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5, t6, t7, t8, _this = this,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "IsolateGroup");
+ t3 = _this.id;
+ t4 = _this.number;
+ t5 = _this.name;
+ t6 = _this.isolates;
+ t6.toString;
+ t7 = H._arrayInstanceType(t6);
+ t8 = t7._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["id", t3, "number", t4, "name", t5, "isolates", P.List_List$from(new H.MappedListIterable(t6, t7._eval$1("Map<String*,@>*(1)")._as(new Q.IsolateGroup_toJson_closure()), t8), true, t8._eval$1("ListIterable.E"))], t1, t2));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.IsolateGroup && this.id == other.id;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[IsolateGroup type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", number: " + H.S(_this.number) + ", name: " + H.S(_this.name) + ", isolates: " + H.S(_this.isolates) + "]";
+ },
+ set$isolates: function(isolates) {
+ this.isolates = type$.legacy_List_legacy_IsolateRef._as(isolates);
+ },
+ $isIsolateGroupRef: 1,
+ get$id: function(receiver) {
+ return this.id;
+ }
+ };
+ Q.IsolateGroup_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_IsolateRef._as(f).toJson$0();
+ },
+ $signature: 25
+ };
+ Q.InboundReferences.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "InboundReferences");
+ t3 = this.references;
+ t3.toString;
+ t4 = H._arrayInstanceType(t3);
+ t5 = t4._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["references", P.List_List$from(new H.MappedListIterable(t3, t4._eval$1("Map<String*,@>*(1)")._as(new Q.InboundReferences_toJson_closure()), t5), true, t5._eval$1("ListIterable.E"))], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[InboundReferences type: " + H.S(this.type) + ", references: " + H.S(this.references) + "]";
+ },
+ set$references: function(references) {
+ this.references = type$.legacy_List_legacy_InboundReference._as(references);
+ }
+ };
+ Q.InboundReferences_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_InboundReference._as(f).toJson$0();
+ },
+ $signature: 48
+ };
+ Q.InboundReference.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["source", this.source.toJson$0()], t1, t2));
+ Q._setIfNotNull(json, "parentListIndex", this.parentListIndex);
+ t2 = this.parentField;
+ Q._setIfNotNull(json, "parentField", t2 == null ? null : t2.toJson$0());
+ return json;
+ },
+ toString$0: function(_) {
+ return "[InboundReference source: " + H.S(this.source) + "]";
+ }
+ };
+ Q.InstanceSet.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5, t6,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "InstanceSet");
+ t3 = this.totalCount;
+ t4 = this.instances;
+ t4.toString;
+ t5 = H._arrayInstanceType(t4);
+ t6 = t5._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["totalCount", t3, "instances", P.List_List$from(new H.MappedListIterable(t4, t5._eval$1("Map<String*,@>*(1)")._as(new Q.InstanceSet_toJson_closure()), t6), true, t6._eval$1("ListIterable.E"))], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[InstanceSet type: " + H.S(this.type) + ", totalCount: " + H.S(this.totalCount) + ", instances: " + H.S(this.instances) + "]";
+ },
+ set$instances: function(instances) {
+ this.instances = type$.legacy_List_legacy_ObjRef._as(instances);
+ }
+ };
+ Q.InstanceSet_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_ObjRef._as(f).toJson$0();
+ },
+ $signature: 49
+ };
+ Q.LibraryRef.prototype = {
+ toJson$0: function() {
+ var json = this.super$ObjRef$toJson();
+ json.$indexSet(0, "type", "@Library");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name, "uri", this.uri], type$.legacy_String, type$.dynamic));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return type$.legacy_LibraryRef._is(other) && this.id == other.get$id(other);
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[LibraryRef type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", name: " + H.S(_this.name) + ", uri: " + H.S(_this.uri) + "]";
+ }
+ };
+ Q.Library.prototype = {
+ toJson$0: function() {
+ var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, _this = this,
+ json = _this.super$Obj$toJson();
+ json.$indexSet(0, "type", "Library");
+ t1 = _this.name;
+ t2 = _this.uri;
+ t3 = _this.debuggable;
+ t4 = _this.dependencies;
+ t4.toString;
+ t5 = H._arrayInstanceType(t4);
+ t6 = t5._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ t6 = P.List_List$from(new H.MappedListIterable(t4, t5._eval$1("Map<String*,@>*(1)")._as(new Q.Library_toJson_closure()), t6), true, t6._eval$1("ListIterable.E"));
+ t5 = _this.scripts;
+ t5.toString;
+ t4 = H._arrayInstanceType(t5);
+ t7 = t4._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ t7 = P.List_List$from(new H.MappedListIterable(t5, t4._eval$1("Map<String*,@>*(1)")._as(new Q.Library_toJson_closure0()), t7), true, t7._eval$1("ListIterable.E"));
+ t4 = _this.variables;
+ t4.toString;
+ t5 = H._arrayInstanceType(t4);
+ t8 = t5._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ t8 = P.List_List$from(new H.MappedListIterable(t4, t5._eval$1("Map<String*,@>*(1)")._as(new Q.Library_toJson_closure1()), t8), true, t8._eval$1("ListIterable.E"));
+ t5 = _this.functions;
+ t5.toString;
+ t4 = H._arrayInstanceType(t5);
+ t9 = t4._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ t9 = P.List_List$from(new H.MappedListIterable(t5, t4._eval$1("Map<String*,@>*(1)")._as(new Q.Library_toJson_closure2()), t9), true, t9._eval$1("ListIterable.E"));
+ t4 = _this.classes;
+ t4.toString;
+ t5 = H._arrayInstanceType(t4);
+ t10 = t5._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "uri", t2, "debuggable", t3, "dependencies", t6, "scripts", t7, "variables", t8, "functions", t9, "classes", P.List_List$from(new H.MappedListIterable(t4, t5._eval$1("Map<String*,@>*(1)")._as(new Q.Library_toJson_closure3()), t10), true, t10._eval$1("ListIterable.E"))], type$.legacy_String, type$.dynamic));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.Library && this.id == other.id;
+ },
+ toString$0: function(_) {
+ return "[Library]";
+ },
+ set$dependencies: function(dependencies) {
+ this.dependencies = type$.legacy_List_legacy_LibraryDependency._as(dependencies);
+ },
+ set$scripts: function(scripts) {
+ this.scripts = type$.legacy_List_legacy_ScriptRef._as(scripts);
+ },
+ set$variables: function(variables) {
+ this.variables = type$.legacy_List_legacy_FieldRef._as(variables);
+ },
+ set$functions: function(functions) {
+ this.functions = type$.legacy_List_legacy_FuncRef._as(functions);
+ },
+ set$classes: function(classes) {
+ this.classes = type$.legacy_List_legacy_ClassRef._as(classes);
+ },
+ $isLibraryRef: 1
+ };
+ Q.Library_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_LibraryDependency._as(f).toJson$0();
+ },
+ $signature: 50
+ };
+ Q.Library_toJson_closure0.prototype = {
+ call$1: function(f) {
+ return type$.legacy_ScriptRef._as(f).toJson$0();
+ },
+ $signature: 9
+ };
+ Q.Library_toJson_closure1.prototype = {
+ call$1: function(f) {
+ return type$.legacy_FieldRef._as(f).toJson$0();
+ },
+ $signature: 21
+ };
+ Q.Library_toJson_closure2.prototype = {
+ call$1: function(f) {
+ return type$.legacy_FuncRef._as(f).toJson$0();
+ },
+ $signature: 22
+ };
+ Q.Library_toJson_closure3.prototype = {
+ call$1: function(f) {
+ return type$.legacy_ClassRef._as(f).toJson$0();
+ },
+ $signature: 8
+ };
+ Q.LibraryDependency.prototype = {
+ toJson$0: function() {
+ var _this = this,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["isImport", _this.isImport, "isDeferred", _this.isDeferred, "prefix", _this.prefix, "target", _this.target.toJson$0()], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[LibraryDependency isImport: " + H.S(_this.isImport) + ", isDeferred: " + H.S(_this.isDeferred) + ", prefix: " + H.S(_this.prefix) + ", target: " + H.S(_this.target) + "]";
+ }
+ };
+ Q.LogRecord.prototype = {
+ toJson$0: function() {
+ var _this = this,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "LogRecord");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["message", _this.message.toJson$0(), "time", _this.time, "level", _this.level, "sequenceNumber", _this.sequenceNumber, "loggerName", _this.loggerName.toJson$0(), "zone", _this.zone.toJson$0(), "error", _this.error.toJson$0(), "stackTrace", _this.stackTrace.toJson$0()], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[LogRecord]";
+ }
+ };
+ Q.MapAssociation.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["key", this.key.toJson$0(), "value", this.value.toJson$0()], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[MapAssociation key: " + H.S(this.key) + ", value: " + H.S(this.value) + "]";
+ }
+ };
+ Q.MemoryUsage.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "MemoryUsage");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["externalUsage", this.externalUsage, "heapCapacity", this.heapCapacity, "heapUsage", this.heapUsage], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[MemoryUsage type: " + H.S(_this.type) + ", externalUsage: " + H.S(_this.externalUsage) + ", heapCapacity: " + H.S(_this.heapCapacity) + ", heapUsage: " + H.S(_this.heapUsage) + "]";
+ }
+ };
+ Q.Message.prototype = {
+ toJson$0: function() {
+ var _this = this,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "Message");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["index", _this.index, "name", _this.name, "messageObjectId", _this.messageObjectId, "size", _this.size], t1, t2));
+ t2 = _this.handler;
+ Q._setIfNotNull(json, "handler", t2 == null ? null : t2.toJson$0());
+ t1 = _this.location;
+ Q._setIfNotNull(json, "location", t1 == null ? null : t1.toJson$0());
+ return json;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[Message type: " + H.S(_this.type) + ", index: " + H.S(_this.index) + ", name: " + H.S(_this.name) + ", messageObjectId: " + H.S(_this.messageObjectId) + ", size: " + H.S(_this.size) + "]";
+ }
+ };
+ Q.NativeFunction.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[NativeFunction name: " + H.S(this.name) + "]";
+ }
+ };
+ Q.NullValRef.prototype = {
+ toJson$0: function() {
+ var json = this.super$InstanceRef$toJson();
+ json.$indexSet(0, "type", "@Null");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["valueAsString", this.NullValRef_valueAsString], type$.legacy_String, type$.dynamic));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return type$.legacy_NullValRef._is(other) && this.id == other.get$id(other);
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[NullValRef type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", kind: " + H.S(_this.kind) + ", classRef: " + H.S(_this.classRef) + ", valueAsString: " + H.S(_this.NullValRef_valueAsString) + "]";
+ },
+ set$valueAsString: function(valueAsString) {
+ this.NullValRef_valueAsString = H._asStringS(valueAsString);
+ },
+ get$valueAsString: function() {
+ return this.NullValRef_valueAsString;
+ }
+ };
+ Q.NullVal.prototype = {
+ toJson$0: function() {
+ var json = this.super$Instance$toJson();
+ json.$indexSet(0, "type", "Null");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["valueAsString", this.NullVal_valueAsString], type$.legacy_String, type$.dynamic));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.NullVal && this.id == other.id;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[NullVal type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", kind: " + H.S(_this.kind) + ", classRef: " + H.S(_this.Instance_classRef) + ", valueAsString: " + H.S(_this.NullVal_valueAsString) + "]";
+ },
+ set$valueAsString: function(valueAsString) {
+ this.NullVal_valueAsString = H._asStringS(valueAsString);
+ },
+ $isNullValRef: 1,
+ get$valueAsString: function() {
+ return this.NullVal_valueAsString;
+ }
+ };
+ Q.ObjRef.prototype = {
+ ObjRef$_fromJson$1: function(json) {
+ this.id = H._asStringS(json.$index(0, "id"));
+ this.fixedId = H._asBoolS(json.$index(0, "fixedId"));
+ },
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "@Object");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["id", this.id], t1, t2));
+ Q._setIfNotNull(json, "fixedId", this.fixedId);
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return type$.legacy_ObjRef._is(other) && this.id == other.get$id(other);
+ },
+ toString$0: function(_) {
+ return "[ObjRef type: " + H.S(this.type) + ", id: " + H.S(this.id) + "]";
+ },
+ get$id: function(receiver) {
+ return this.id;
+ }
+ };
+ Q.Obj.prototype = {
+ Obj$_fromJson$1: function(json) {
+ var _this = this;
+ _this.id = H._asStringS(json.$index(0, "id"));
+ _this.fixedId = H._asBoolS(json.$index(0, "fixedId"));
+ _this.set$classRef(type$.legacy_ClassRef._as(Q.createServiceObject(json.$index(0, "class"), C.List_ClassRef)));
+ _this.size = H._asIntS(json.$index(0, "size"));
+ },
+ toJson$0: function() {
+ var _this = this,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "Object");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["id", _this.id], t1, t2));
+ Q._setIfNotNull(json, "fixedId", _this.fixedId);
+ t2 = _this.get$classRef();
+ Q._setIfNotNull(json, "class", t2 == null ? null : t2.toJson$0());
+ Q._setIfNotNull(json, "size", _this.size);
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.Obj && this.id == other.id;
+ },
+ toString$0: function(_) {
+ return "[Obj type: " + H.S(this.type) + ", id: " + H.S(this.id) + "]";
+ },
+ set$classRef: function(classRef) {
+ this.classRef = type$.legacy_ClassRef._as(classRef);
+ },
+ $isObjRef: 1,
+ get$id: function(receiver) {
+ return this.id;
+ },
+ get$classRef: function() {
+ return this.classRef;
+ }
+ };
+ Q.ProfileFunction.prototype = {
+ toJson$0: function() {
+ var _this = this,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["kind", _this.kind, "inclusiveTicks", _this.inclusiveTicks, "exclusiveTicks", _this.exclusiveTicks, "resolvedUrl", _this.resolvedUrl, "function", _this.$function.toJson$0()], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[ProfileFunction kind: " + H.S(_this.kind) + ", inclusiveTicks: " + H.S(_this.inclusiveTicks) + ", exclusiveTicks: " + H.S(_this.exclusiveTicks) + ", resolvedUrl: " + H.S(_this.resolvedUrl) + ", function: " + H.S(_this.$function) + "]";
+ }
+ };
+ Q.ReloadReport.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "ReloadReport");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["success", this.success], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[ReloadReport type: " + H.S(this.type) + ", success: " + H.S(this.success) + "]";
+ }
+ };
+ Q.RetainingObject.prototype = {
+ toJson$0: function() {
+ var _this = this,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["value", _this.value.toJson$0()], t1, t2));
+ Q._setIfNotNull(json, "parentListIndex", _this.parentListIndex);
+ t2 = _this.parentMapKey;
+ Q._setIfNotNull(json, "parentMapKey", t2 == null ? null : t2.toJson$0());
+ Q._setIfNotNull(json, "parentField", _this.parentField);
+ return json;
+ },
+ toString$0: function(_) {
+ return "[RetainingObject value: " + H.S(this.value) + "]";
+ }
+ };
+ Q.RetainingPath.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5, t6, t7,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "RetainingPath");
+ t3 = this.length;
+ t4 = this.gcRootType;
+ t5 = this.elements;
+ t5.toString;
+ t6 = H._arrayInstanceType(t5);
+ t7 = t6._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["length", t3, "gcRootType", t4, "elements", P.List_List$from(new H.MappedListIterable(t5, t6._eval$1("Map<String*,@>*(1)")._as(new Q.RetainingPath_toJson_closure()), t7), true, t7._eval$1("ListIterable.E"))], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[RetainingPath type: " + H.S(_this.type) + ", length: " + H.S(_this.length) + ", gcRootType: " + H.S(_this.gcRootType) + ", elements: " + H.S(_this.elements) + "]";
+ },
+ set$elements: function(elements) {
+ this.elements = type$.legacy_List_legacy_RetainingObject._as(elements);
+ },
+ get$length: function(receiver) {
+ return this.length;
+ }
+ };
+ Q.RetainingPath_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_RetainingObject._as(f).toJson$0();
+ },
+ $signature: 52
+ };
+ Q.Response.prototype = {
+ toJson$0: function() {
+ var result = P.LinkedHashMap_LinkedHashMap$of(this.json, type$.legacy_String, type$.dynamic),
+ t1 = this.type;
+ result.$indexSet(0, "type", t1 == null ? "Response" : t1);
+ return result;
+ },
+ toString$0: function(_) {
+ return "[Response type: " + H.S(this.type) + "]";
+ }
+ };
+ Q.Sentinel.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "Sentinel");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["kind", this.kind, "valueAsString", this.valueAsString], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[Sentinel type: " + H.S(this.type) + ", kind: " + H.S(this.kind) + ", valueAsString: " + H.S(this.valueAsString) + "]";
+ }
+ };
+ Q.ScriptRef.prototype = {
+ toJson$0: function() {
+ var json = this.super$ObjRef$toJson();
+ json.$indexSet(0, "type", "@Script");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["uri", this.uri], type$.legacy_String, type$.dynamic));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return type$.legacy_ScriptRef._is(other) && this.id == other.get$id(other);
+ },
+ toString$0: function(_) {
+ return "[ScriptRef type: " + H.S(this.type) + ", id: " + H.S(this.id) + ", uri: " + H.S(this.uri) + "]";
+ }
+ };
+ Q.Script.prototype = {
+ Script$_fromJson$1: function(json) {
+ var _this = this,
+ _s13_ = "tokenPosTable";
+ _this.uri = H._asStringS(json.$index(0, "uri"));
+ _this.library = type$.legacy_LibraryRef._as(Q.createServiceObject(json.$index(0, "library"), C.List_LibraryRef));
+ _this.lineOffset = H._asIntS(json.$index(0, "lineOffset"));
+ _this.columnOffset = H._asIntS(json.$index(0, "columnOffset"));
+ _this.source = H._asStringS(json.$index(0, "source"));
+ _this.set$tokenPosTable(json.$index(0, _s13_) == null ? null : P.List_List$from(type$.Iterable_dynamic._as(J.map$1$ax(json.$index(0, _s13_), new Q.Script$_fromJson_closure())), true, type$.legacy_List_legacy_int));
+ _this._parseTokenPosTable$0();
+ },
+ _parseTokenPosTable$0: function() {
+ var lineSet, t1, t2, t3, t4, _i, line, t5, lineNumber, pos, tokenOffset, colNumber, _this = this;
+ if (_this.tokenPosTable == null)
+ return;
+ lineSet = P.LinkedHashSet_LinkedHashSet(type$.legacy_int);
+ for (t1 = _this.tokenPosTable, t2 = t1.length, t3 = _this._tokenToLine, t4 = _this._tokenToColumn, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
+ line = t1[_i];
+ t5 = J.getInterceptor$asx(line);
+ lineNumber = H._asIntS(t5.$index(line, 0));
+ lineSet.add$1(0, lineNumber);
+ for (pos = 1; pos < t5.get$length(line); pos += 2) {
+ tokenOffset = H._asIntS(t5.$index(line, pos));
+ colNumber = H._asIntS(t5.$index(line, pos + 1));
+ t3.$indexSet(0, tokenOffset, lineNumber);
+ t4.$indexSet(0, tokenOffset, colNumber);
+ }
+ }
+ },
+ toJson$0: function() {
+ var t1, t2, _this = this,
+ json = _this.super$Obj$toJson();
+ json.$indexSet(0, "type", "Script");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["uri", _this.uri, "library", _this.library.toJson$0()], type$.legacy_String, type$.dynamic));
+ Q._setIfNotNull(json, "lineOffset", _this.lineOffset);
+ Q._setIfNotNull(json, "columnOffset", _this.columnOffset);
+ Q._setIfNotNull(json, "source", _this.source);
+ t1 = _this.tokenPosTable;
+ if (t1 == null)
+ t1 = null;
+ else {
+ t2 = H._arrayInstanceType(t1);
+ t2 = new H.MappedListIterable(t1, t2._eval$1("List<int*>*(1)")._as(new Q.Script_toJson_closure()), t2._eval$1("MappedListIterable<1,List<int*>*>"));
+ t1 = t2;
+ }
+ Q._setIfNotNull(json, "tokenPosTable", t1 == null ? null : P.List_List$from(t1, true, t1.$ti._eval$1("ListIterable.E")));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.Script && this.id == other.id;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[Script type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", uri: " + H.S(_this.uri) + ", library: " + H.S(_this.library) + "]";
+ },
+ set$tokenPosTable: function(tokenPosTable) {
+ this.tokenPosTable = type$.legacy_List_legacy_List_legacy_int._as(tokenPosTable);
+ },
+ $isScriptRef: 1
+ };
+ Q.Script$_fromJson_closure.prototype = {
+ call$1: function(list) {
+ return P.List_List$from(type$.Iterable_dynamic._as(list), true, type$.legacy_int);
+ },
+ $signature: 53
+ };
+ Q.Script_toJson_closure.prototype = {
+ call$1: function(f) {
+ type$.legacy_List_legacy_int._as(f);
+ return f == null ? null : J.toList$0$ax(f);
+ },
+ $signature: 54
+ };
+ Q.ScriptList.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "ScriptList");
+ t3 = this.scripts;
+ t3.toString;
+ t4 = H._arrayInstanceType(t3);
+ t5 = t4._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["scripts", P.List_List$from(new H.MappedListIterable(t3, t4._eval$1("Map<String*,@>*(1)")._as(new Q.ScriptList_toJson_closure()), t5), true, t5._eval$1("ListIterable.E"))], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[ScriptList type: " + H.S(this.type) + ", scripts: " + H.S(this.scripts) + "]";
+ },
+ set$scripts: function(scripts) {
+ this.scripts = type$.legacy_List_legacy_ScriptRef._as(scripts);
+ }
+ };
+ Q.ScriptList_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_ScriptRef._as(f).toJson$0();
+ },
+ $signature: 9
+ };
+ Q.SourceLocation.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "SourceLocation");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["script", this.script.toJson$0(), "tokenPos", this.tokenPos], t1, t2));
+ Q._setIfNotNull(json, "endTokenPos", this.endTokenPos);
+ return json;
+ },
+ toString$0: function(_) {
+ return "[SourceLocation type: " + H.S(this.type) + ", script: " + H.S(this.script) + ", tokenPos: " + H.S(this.tokenPos) + "]";
+ }
+ };
+ Q.SourceReport.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5, t6,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "SourceReport");
+ t3 = this.ranges;
+ t3.toString;
+ t4 = H._arrayInstanceType(t3);
+ t5 = t4._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ t5 = P.List_List$from(new H.MappedListIterable(t3, t4._eval$1("Map<String*,@>*(1)")._as(new Q.SourceReport_toJson_closure()), t5), true, t5._eval$1("ListIterable.E"));
+ t4 = this.scripts;
+ t4.toString;
+ t3 = H._arrayInstanceType(t4);
+ t6 = t3._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["ranges", t5, "scripts", P.List_List$from(new H.MappedListIterable(t4, t3._eval$1("Map<String*,@>*(1)")._as(new Q.SourceReport_toJson_closure0()), t6), true, t6._eval$1("ListIterable.E"))], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[SourceReport type: " + H.S(this.type) + ", ranges: " + H.S(this.ranges) + ", scripts: " + H.S(this.scripts) + "]";
+ },
+ set$ranges: function(ranges) {
+ this.ranges = type$.legacy_List_legacy_SourceReportRange._as(ranges);
+ },
+ set$scripts: function(scripts) {
+ this.scripts = type$.legacy_List_legacy_ScriptRef._as(scripts);
+ }
+ };
+ Q.SourceReport_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_SourceReportRange._as(f).toJson$0();
+ },
+ $signature: 55
+ };
+ Q.SourceReport_toJson_closure0.prototype = {
+ call$1: function(f) {
+ return type$.legacy_ScriptRef._as(f).toJson$0();
+ },
+ $signature: 9
+ };
+ Q.SourceReportCoverage.prototype = {
+ toJson$0: function() {
+ var t4, t5, t6,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
+ t3 = this.hits;
+ t3.toString;
+ t4 = H._arrayInstanceType(t3);
+ t5 = t4._eval$1("MappedListIterable<1,int*>");
+ t5 = P.List_List$from(new H.MappedListIterable(t3, t4._eval$1("int*(1)")._as(new Q.SourceReportCoverage_toJson_closure()), t5), true, t5._eval$1("ListIterable.E"));
+ t4 = this.misses;
+ t4.toString;
+ t3 = H._arrayInstanceType(t4);
+ t6 = t3._eval$1("MappedListIterable<1,int*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["hits", t5, "misses", P.List_List$from(new H.MappedListIterable(t4, t3._eval$1("int*(1)")._as(new Q.SourceReportCoverage_toJson_closure0()), t6), true, t6._eval$1("ListIterable.E"))], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[SourceReportCoverage hits: " + H.S(this.hits) + ", misses: " + H.S(this.misses) + "]";
+ },
+ set$hits: function(hits) {
+ this.hits = type$.legacy_List_legacy_int._as(hits);
+ },
+ set$misses: function(misses) {
+ this.misses = type$.legacy_List_legacy_int._as(misses);
+ }
+ };
+ Q.SourceReportCoverage_toJson_closure.prototype = {
+ call$1: function(f) {
+ return H._asIntS(f);
+ },
+ $signature: 4
+ };
+ Q.SourceReportCoverage_toJson_closure0.prototype = {
+ call$1: function(f) {
+ return H._asIntS(f);
+ },
+ $signature: 4
+ };
+ Q.SourceReportRange.prototype = {
+ toJson$0: function() {
+ var _this = this, _null = null,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["scriptIndex", _this.scriptIndex, "startPos", _this.startPos, "endPos", _this.endPos, "compiled", _this.compiled], t1, t2));
+ t2 = _this.error;
+ Q._setIfNotNull(json, "error", t2 == null ? _null : t2.toJson$0());
+ t1 = _this.coverage;
+ Q._setIfNotNull(json, "coverage", t1 == null ? _null : t1.toJson$0());
+ t1 = _this.possibleBreakpoints;
+ if (t1 == null)
+ t1 = _null;
+ else {
+ t2 = H._arrayInstanceType(t1);
+ t2 = new H.MappedListIterable(t1, t2._eval$1("int*(1)")._as(new Q.SourceReportRange_toJson_closure()), t2._eval$1("MappedListIterable<1,int*>"));
+ t1 = t2;
+ }
+ Q._setIfNotNull(json, "possibleBreakpoints", t1 == null ? _null : P.List_List$from(t1, true, t1.$ti._eval$1("ListIterable.E")));
+ return json;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[SourceReportRange scriptIndex: " + H.S(_this.scriptIndex) + ", startPos: " + H.S(_this.startPos) + ", endPos: " + H.S(_this.endPos) + ", compiled: " + H.S(_this.compiled) + "]";
+ },
+ set$possibleBreakpoints: function(possibleBreakpoints) {
+ this.possibleBreakpoints = type$.legacy_List_legacy_int._as(possibleBreakpoints);
+ }
+ };
+ Q.SourceReportRange_toJson_closure.prototype = {
+ call$1: function(f) {
+ return H._asIntS(f);
+ },
+ $signature: 4
+ };
+ Q.Stack.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5, t6, _this = this, _null = null,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "Stack");
+ t3 = _this.frames;
+ t3.toString;
+ t4 = H._arrayInstanceType(t3);
+ t5 = t4._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ t5 = P.List_List$from(new H.MappedListIterable(t3, t4._eval$1("Map<String*,@>*(1)")._as(new Q.Stack_toJson_closure()), t5), true, t5._eval$1("ListIterable.E"));
+ t4 = _this.messages;
+ t4.toString;
+ t3 = H._arrayInstanceType(t4);
+ t6 = t3._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["frames", t5, "messages", P.List_List$from(new H.MappedListIterable(t4, t3._eval$1("Map<String*,@>*(1)")._as(new Q.Stack_toJson_closure0()), t6), true, t6._eval$1("ListIterable.E"))], t1, t2));
+ t2 = _this.asyncCausalFrames;
+ if (t2 == null)
+ t1 = _null;
+ else {
+ t1 = H._arrayInstanceType(t2);
+ t1 = new H.MappedListIterable(t2, t1._eval$1("Map<String*,@>*(1)")._as(new Q.Stack_toJson_closure1()), t1._eval$1("MappedListIterable<1,Map<String*,@>*>"));
+ }
+ Q._setIfNotNull(json, "asyncCausalFrames", t1 == null ? _null : P.List_List$from(t1, true, t1.$ti._eval$1("ListIterable.E")));
+ t1 = _this.awaiterFrames;
+ if (t1 == null)
+ t1 = _null;
+ else {
+ t2 = H._arrayInstanceType(t1);
+ t2 = new H.MappedListIterable(t1, t2._eval$1("Map<String*,@>*(1)")._as(new Q.Stack_toJson_closure2()), t2._eval$1("MappedListIterable<1,Map<String*,@>*>"));
+ t1 = t2;
+ }
+ Q._setIfNotNull(json, "awaiterFrames", t1 == null ? _null : P.List_List$from(t1, true, t1.$ti._eval$1("ListIterable.E")));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[Stack type: " + H.S(this.type) + ", frames: " + H.S(this.frames) + ", messages: " + H.S(this.messages) + "]";
+ },
+ set$frames: function($frames) {
+ this.frames = type$.legacy_List_legacy_Frame._as($frames);
+ },
+ set$asyncCausalFrames: function(asyncCausalFrames) {
+ this.asyncCausalFrames = type$.legacy_List_legacy_Frame._as(asyncCausalFrames);
+ },
+ set$awaiterFrames: function(awaiterFrames) {
+ this.awaiterFrames = type$.legacy_List_legacy_Frame._as(awaiterFrames);
+ },
+ set$messages: function(messages) {
+ this.messages = type$.legacy_List_legacy_Message._as(messages);
+ }
+ };
+ Q.Stack_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_Frame._as(f).toJson$0();
+ },
+ $signature: 10
+ };
+ Q.Stack_toJson_closure0.prototype = {
+ call$1: function(f) {
+ return type$.legacy_Message._as(f).toJson$0();
+ },
+ $signature: 57
+ };
+ Q.Stack_toJson_closure1.prototype = {
+ call$1: function(f) {
+ type$.legacy_Frame._as(f);
+ return f == null ? null : f.toJson$0();
+ },
+ $signature: 10
+ };
+ Q.Stack_toJson_closure2.prototype = {
+ call$1: function(f) {
+ type$.legacy_Frame._as(f);
+ return f == null ? null : f.toJson$0();
+ },
+ $signature: 10
+ };
+ Q.Success.prototype = {
+ toJson$0: function() {
+ var json = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.dynamic);
+ json.$indexSet(0, "type", "Success");
+ return json;
+ },
+ toString$0: function(_) {
+ return "[Success type: " + H.S(this.type) + "]";
+ }
+ };
+ Q.Timeline.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "Timeline");
+ t3 = this.traceEvents;
+ t3.toString;
+ t4 = H._arrayInstanceType(t3);
+ t5 = t4._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["traceEvents", P.List_List$from(new H.MappedListIterable(t3, t4._eval$1("Map<String*,@>*(1)")._as(new Q.Timeline_toJson_closure()), t5), true, t5._eval$1("ListIterable.E")), "timeOriginMicros", this.timeOriginMicros, "timeExtentMicros", this.timeExtentMicros], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[Timeline type: " + H.S(_this.type) + ", traceEvents: " + H.S(_this.traceEvents) + ", timeOriginMicros: " + H.S(_this.timeOriginMicros) + ", timeExtentMicros: " + H.S(_this.timeExtentMicros) + "]";
+ },
+ set$traceEvents: function(traceEvents) {
+ this.traceEvents = type$.legacy_List_legacy_TimelineEvent._as(traceEvents);
+ }
+ };
+ Q.Timeline_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_TimelineEvent._as(f).toJson$0();
+ },
+ $signature: 24
+ };
+ Q.TimelineEvent.prototype = {
+ toJson$0: function() {
+ var result = P.LinkedHashMap_LinkedHashMap$of(this.json, type$.legacy_String, type$.dynamic);
+ result.$indexSet(0, "type", "TimelineEvent");
+ return result;
+ },
+ toString$0: function(_) {
+ return "[TimelineEvent ]";
+ }
+ };
+ Q.TimelineFlags.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5, t6, t7,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "TimelineFlags");
+ t3 = this.recorderName;
+ t4 = this.availableStreams;
+ t4.toString;
+ t5 = H._arrayInstanceType(t4);
+ t6 = t5._eval$1("MappedListIterable<1,String*>");
+ t6 = P.List_List$from(new H.MappedListIterable(t4, t5._eval$1("String*(1)")._as(new Q.TimelineFlags_toJson_closure()), t6), true, t6._eval$1("ListIterable.E"));
+ t5 = this.recordedStreams;
+ t5.toString;
+ t4 = H._arrayInstanceType(t5);
+ t7 = t4._eval$1("MappedListIterable<1,String*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["recorderName", t3, "availableStreams", t6, "recordedStreams", P.List_List$from(new H.MappedListIterable(t5, t4._eval$1("String*(1)")._as(new Q.TimelineFlags_toJson_closure0()), t7), true, t7._eval$1("ListIterable.E"))], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[TimelineFlags type: " + H.S(_this.type) + ", recorderName: " + H.S(_this.recorderName) + ", availableStreams: " + H.S(_this.availableStreams) + ", recordedStreams: " + H.S(_this.recordedStreams) + "]";
+ },
+ set$availableStreams: function(availableStreams) {
+ this.availableStreams = type$.legacy_List_legacy_String._as(availableStreams);
+ },
+ set$recordedStreams: function(recordedStreams) {
+ this.recordedStreams = type$.legacy_List_legacy_String._as(recordedStreams);
+ }
+ };
+ Q.TimelineFlags_toJson_closure.prototype = {
+ call$1: function(f) {
+ return H._asStringS(f);
+ },
+ $signature: 5
+ };
+ Q.TimelineFlags_toJson_closure0.prototype = {
+ call$1: function(f) {
+ return H._asStringS(f);
+ },
+ $signature: 5
+ };
+ Q.Timestamp.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "Timestamp");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["timestamp", this.timestamp], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[Timestamp type: " + H.S(this.type) + ", timestamp: " + H.S(this.timestamp) + "]";
+ }
+ };
+ Q.TypeArgumentsRef.prototype = {
+ toJson$0: function() {
+ var json = this.super$ObjRef$toJson();
+ json.$indexSet(0, "type", "@TypeArguments");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name], type$.legacy_String, type$.dynamic));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return type$.legacy_TypeArgumentsRef._is(other) && this.id == other.get$id(other);
+ },
+ toString$0: function(_) {
+ return "[TypeArgumentsRef type: " + H.S(this.type) + ", id: " + H.S(this.id) + ", name: " + H.S(this.name) + "]";
+ }
+ };
+ Q.TypeArguments.prototype = {
+ toJson$0: function() {
+ var t1, t2, t3, t4,
+ json = this.super$Obj$toJson();
+ json.$indexSet(0, "type", "TypeArguments");
+ t1 = this.name;
+ t2 = this.types;
+ t2.toString;
+ t3 = H._arrayInstanceType(t2);
+ t4 = t3._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "types", P.List_List$from(new H.MappedListIterable(t2, t3._eval$1("Map<String*,@>*(1)")._as(new Q.TypeArguments_toJson_closure()), t4), true, t4._eval$1("ListIterable.E"))], type$.legacy_String, type$.dynamic));
+ return json;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this.id);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return other instanceof Q.TypeArguments && this.id == other.id;
+ },
+ toString$0: function(_) {
+ var _this = this;
+ return "[TypeArguments type: " + H.S(_this.type) + ", id: " + H.S(_this.id) + ", name: " + H.S(_this.name) + ", types: " + H.S(_this.types) + "]";
+ },
+ set$types: function(types) {
+ this.types = type$.legacy_List_legacy_InstanceRef._as(types);
+ },
+ $isTypeArgumentsRef: 1
+ };
+ Q.TypeArguments_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_InstanceRef._as(f).toJson$0();
+ },
+ $signature: 20
+ };
+ Q.UnresolvedSourceLocation.prototype = {
+ toJson$0: function() {
+ var t1, _this = this,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.dynamic);
+ json.$indexSet(0, "type", "UnresolvedSourceLocation");
+ t1 = _this.script;
+ Q._setIfNotNull(json, "script", t1 == null ? null : t1.toJson$0());
+ Q._setIfNotNull(json, "scriptUri", _this.scriptUri);
+ Q._setIfNotNull(json, "tokenPos", _this.tokenPos);
+ Q._setIfNotNull(json, "line", _this.line);
+ Q._setIfNotNull(json, "column", _this.column);
+ return json;
+ },
+ toString$0: function(_) {
+ return "[UnresolvedSourceLocation type: " + H.S(this.type) + "]";
+ }
+ };
+ Q.Version.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "Version");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["major", this.major, "minor", this.minor], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[Version type: " + H.S(this.type) + ", major: " + H.S(this.major) + ", minor: " + H.S(this.minor) + "]";
+ }
+ };
+ Q.VMRef.prototype = {
+ toJson$0: function() {
+ var t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "@VM");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", this.name], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[VMRef type: " + H.S(this.type) + ", name: " + H.S(this.name) + "]";
+ }
+ };
+ Q.VM.prototype = {
+ toJson$0: function() {
+ var t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, _this = this,
+ t1 = type$.legacy_String,
+ t2 = type$.dynamic,
+ json = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
+ json.$indexSet(0, "type", "VM");
+ t3 = _this.name;
+ t4 = _this.architectureBits;
+ t5 = _this.hostCPU;
+ t6 = _this.operatingSystem;
+ t7 = _this.targetCPU;
+ t8 = _this.version;
+ t9 = _this.pid;
+ t10 = _this.startTime;
+ t11 = _this.isolates;
+ t11.toString;
+ t12 = H._arrayInstanceType(t11);
+ t13 = t12._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ t13 = P.List_List$from(new H.MappedListIterable(t11, t12._eval$1("Map<String*,@>*(1)")._as(new Q.VM_toJson_closure()), t13), true, t13._eval$1("ListIterable.E"));
+ t12 = _this.isolateGroups;
+ t12.toString;
+ t11 = H._arrayInstanceType(t12);
+ t14 = t11._eval$1("MappedListIterable<1,Map<String*,@>*>");
+ json.addAll$1(0, P.LinkedHashMap_LinkedHashMap$_literal(["name", t3, "architectureBits", t4, "hostCPU", t5, "operatingSystem", t6, "targetCPU", t7, "version", t8, "pid", t9, "startTime", t10, "isolates", t13, "isolateGroups", P.List_List$from(new H.MappedListIterable(t12, t11._eval$1("Map<String*,@>*(1)")._as(new Q.VM_toJson_closure0()), t14), true, t14._eval$1("ListIterable.E"))], t1, t2));
+ return json;
+ },
+ toString$0: function(_) {
+ return "[VM]";
+ },
+ set$isolates: function(isolates) {
+ this.isolates = type$.legacy_List_legacy_IsolateRef._as(isolates);
+ },
+ set$isolateGroups: function(isolateGroups) {
+ this.isolateGroups = type$.legacy_List_legacy_IsolateGroupRef._as(isolateGroups);
+ },
+ $isVMRef: 1
+ };
+ Q.VM_toJson_closure.prototype = {
+ call$1: function(f) {
+ return type$.legacy_IsolateRef._as(f).toJson$0();
+ },
+ $signature: 25
+ };
+ Q.VM_toJson_closure0.prototype = {
+ call$1: function(f) {
+ return type$.legacy_IsolateGroupRef._as(f).toJson$0();
+ },
+ $signature: 58
+ };
+ E.main_closure.prototype = {
+ call$1: function(e) {
+ var t1 = this.ddsChannel._outgoingController;
+ t1.add$1(0, H._instanceType(t1)._precomputed1._as(e));
+ return null;
+ },
+ $signature: 59
+ };
+ (function aliases() {
+ var _ = J.Interceptor.prototype;
+ _.super$Interceptor$noSuchMethod = _.noSuchMethod$1;
+ _ = J.JavaScriptObject.prototype;
+ _.super$JavaScriptObject$toString = _.toString$0;
+ _ = P._BroadcastStreamController.prototype;
+ _.super$_BroadcastStreamController$_addEventError = _._addEventError$0;
+ _ = P._BufferingStreamSubscription.prototype;
+ _.super$_BufferingStreamSubscription$_add = _._add$1;
+ _.super$_BufferingStreamSubscription$_addError = _._addError$2;
+ _ = Q.InstanceRef.prototype;
+ _.super$InstanceRef$toJson = _.toJson$0;
+ _ = Q.Instance.prototype;
+ _.super$Instance$toJson = _.toJson$0;
+ _ = Q.ObjRef.prototype;
+ _.super$ObjRef$toJson = _.toJson$0;
+ _ = Q.Obj.prototype;
+ _.super$Obj$toJson = _.toJson$0;
+ })();
+ (function installTearOffs() {
+ var _static_1 = hunkHelpers._static_1,
+ _static_0 = hunkHelpers._static_0,
+ _static_2 = hunkHelpers._static_2,
+ _instance_0_u = hunkHelpers._instance_0u,
+ _instance = hunkHelpers.installInstanceTearOff,
+ _instance_2_u = hunkHelpers._instance_2u,
+ _instance_1_u = hunkHelpers._instance_1u;
+ _static_1(P, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 6);
+ _static_1(P, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 6);
+ _static_1(P, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 6);
+ _static_0(P, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0);
+ _static_1(P, "async___nullDataHandler$closure", "_nullDataHandler", 2);
+ _static_2(P, "async___nullErrorHandler$closure", "_nullErrorHandler", 7);
+ var _;
+ _instance_0_u(_ = P._BroadcastSubscription.prototype, "get$_onPause", "_onPause$0", 0);
+ _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
+ _instance(P._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 39, 0);
+ _instance_2_u(P._Future.prototype, "get$_completeError", "_completeError$2", 7);
+ _instance_0_u(_ = P._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0);
+ _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
+ _instance_0_u(_ = P._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
+ _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
+ _instance_0_u(P._DoneStreamSubscription.prototype, "get$_sendDone", "_sendDone$0", 0);
+ _instance_1_u(_ = P._StreamIterator.prototype, "get$_async$_onData", "_async$_onData$1", 12);
+ _instance_2_u(_, "get$_onError", "_onError$2", 7);
+ _instance_0_u(_, "get$_onDone", "_onDone$0", 0);
+ _instance_0_u(_ = P._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
+ _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
+ _instance_1_u(_, "get$_handleData", "_handleData$1", 12);
+ _instance_2_u(_, "get$_handleError", "_handleError$2", 32);
+ _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0);
+ _static_1(P, "convert___defaultToEncodable$closure", "_defaultToEncodable", 3);
+ _instance_1_u(_ = M.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 18);
+ _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 18);
+ _instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0);
+ _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 2);
+ _static_1(Q, "vm_service_ExtensionData_parse$closure", "ExtensionData_parse", 61);
+ _static_1(Q, "vm_service_AllocationProfile_parse$closure", "AllocationProfile_parse", 62);
+ _static_1(Q, "vm_service_BoundField_parse$closure", "BoundField_parse", 63);
+ _static_1(Q, "vm_service_BoundVariable_parse$closure", "BoundVariable_parse", 64);
+ _static_1(Q, "vm_service_Breakpoint_parse$closure", "Breakpoint_parse", 65);
+ _static_1(Q, "vm_service_ClassRef_parse$closure", "ClassRef_parse", 66);
+ _static_1(Q, "vm_service_Class_parse$closure", "Class_parse", 67);
+ _static_1(Q, "vm_service_ClassHeapStats_parse$closure", "ClassHeapStats_parse", 68);
+ _static_1(Q, "vm_service_ClassList_parse$closure", "ClassList_parse", 69);
+ _static_1(Q, "vm_service_ClientName_parse$closure", "ClientName_parse", 70);
+ _static_1(Q, "vm_service_CodeRef_parse$closure", "CodeRef_parse", 71);
+ _static_1(Q, "vm_service_Code_parse$closure", "Code_parse", 72);
+ _static_1(Q, "vm_service_ContextRef_parse$closure", "ContextRef_parse", 73);
+ _static_1(Q, "vm_service_Context_parse$closure", "Context_parse", 74);
+ _static_1(Q, "vm_service_ContextElement_parse$closure", "ContextElement_parse", 75);
+ _static_1(Q, "vm_service_CpuSamples_parse$closure", "CpuSamples_parse", 76);
+ _static_1(Q, "vm_service_CpuSample_parse$closure", "CpuSample_parse", 77);
+ _static_1(Q, "vm_service_ErrorRef_parse$closure", "ErrorRef_parse", 78);
+ _static_1(Q, "vm_service_Error_parse$closure", "Error_parse", 79);
+ _static_1(Q, "vm_service_Event_parse$closure", "Event_parse", 80);
+ _static_1(Q, "vm_service_FieldRef_parse$closure", "FieldRef_parse", 81);
+ _static_1(Q, "vm_service_Field_parse$closure", "Field_parse", 82);
+ _static_1(Q, "vm_service_Flag_parse$closure", "Flag_parse", 83);
+ _static_1(Q, "vm_service_FlagList_parse$closure", "FlagList_parse", 84);
+ _static_1(Q, "vm_service_Frame_parse$closure", "Frame_parse", 85);
+ _static_1(Q, "vm_service_FuncRef_parse$closure", "FuncRef_parse", 86);
+ _static_1(Q, "vm_service_Func_parse$closure", "Func_parse", 87);
+ _static_1(Q, "vm_service_InstanceRef_parse$closure", "InstanceRef_parse", 133);
+ _static_1(Q, "vm_service_Instance_parse$closure", "Instance_parse", 89);
+ _static_1(Q, "vm_service_IsolateRef_parse$closure", "IsolateRef_parse", 90);
+ _static_1(Q, "vm_service_Isolate_parse$closure", "Isolate_parse", 91);
+ _static_1(Q, "vm_service_IsolateGroupRef_parse$closure", "IsolateGroupRef_parse", 92);
+ _static_1(Q, "vm_service_IsolateGroup_parse$closure", "IsolateGroup_parse", 93);
+ _static_1(Q, "vm_service_InboundReferences_parse$closure", "InboundReferences_parse", 94);
+ _static_1(Q, "vm_service_InboundReference_parse$closure", "InboundReference_parse", 95);
+ _static_1(Q, "vm_service_InstanceSet_parse$closure", "InstanceSet_parse", 96);
+ _static_1(Q, "vm_service_LibraryRef_parse$closure", "LibraryRef_parse", 97);
+ _static_1(Q, "vm_service_Library_parse$closure", "Library_parse", 98);
+ _static_1(Q, "vm_service_LibraryDependency_parse$closure", "LibraryDependency_parse", 99);
+ _static_1(Q, "vm_service_LogRecord_parse$closure", "LogRecord_parse", 100);
+ _static_1(Q, "vm_service_MapAssociation_parse$closure", "MapAssociation_parse", 101);
+ _static_1(Q, "vm_service_MemoryUsage_parse$closure", "MemoryUsage_parse", 102);
+ _static_1(Q, "vm_service_Message_parse$closure", "Message_parse", 103);
+ _static_1(Q, "vm_service_NativeFunction_parse$closure", "NativeFunction_parse", 104);
+ _static_1(Q, "vm_service_NullValRef_parse$closure", "NullValRef_parse", 105);
+ _static_1(Q, "vm_service_NullVal_parse$closure", "NullVal_parse", 106);
+ _static_1(Q, "vm_service_ObjRef_parse$closure", "ObjRef_parse", 107);
+ _static_1(Q, "vm_service_Obj_parse$closure", "Obj_parse", 108);
+ _static_1(Q, "vm_service_ProfileFunction_parse$closure", "ProfileFunction_parse", 109);
+ _static_1(Q, "vm_service_ReloadReport_parse$closure", "ReloadReport_parse", 110);
+ _static_1(Q, "vm_service_RetainingObject_parse$closure", "RetainingObject_parse", 111);
+ _static_1(Q, "vm_service_RetainingPath_parse$closure", "RetainingPath_parse", 112);
+ _static_1(Q, "vm_service_Response_parse$closure", "Response_parse", 113);
+ _static_1(Q, "vm_service_Sentinel_parse$closure", "Sentinel_parse", 114);
+ _static_1(Q, "vm_service_ScriptRef_parse$closure", "ScriptRef_parse", 115);
+ _static_1(Q, "vm_service_Script_parse$closure", "Script_parse", 116);
+ _static_1(Q, "vm_service_ScriptList_parse$closure", "ScriptList_parse", 117);
+ _static_1(Q, "vm_service_SourceLocation_parse$closure", "SourceLocation_parse", 118);
+ _static_1(Q, "vm_service_SourceReport_parse$closure", "SourceReport_parse", 119);
+ _static_1(Q, "vm_service_SourceReportCoverage_parse$closure", "SourceReportCoverage_parse", 120);
+ _static_1(Q, "vm_service_SourceReportRange_parse$closure", "SourceReportRange_parse", 121);
+ _static_1(Q, "vm_service_Stack_parse$closure", "Stack_parse", 122);
+ _static_1(Q, "vm_service_Success_parse$closure", "Success_parse", 123);
+ _static_1(Q, "vm_service_Timeline_parse$closure", "Timeline_parse", 124);
+ _static_1(Q, "vm_service_TimelineEvent_parse$closure", "TimelineEvent_parse", 125);
+ _static_1(Q, "vm_service_TimelineFlags_parse$closure", "TimelineFlags_parse", 126);
+ _static_1(Q, "vm_service_Timestamp_parse$closure", "Timestamp_parse", 127);
+ _static_1(Q, "vm_service_TypeArgumentsRef_parse$closure", "TypeArgumentsRef_parse", 128);
+ _static_1(Q, "vm_service_TypeArguments_parse$closure", "TypeArguments_parse", 129);
+ _static_1(Q, "vm_service_UnresolvedSourceLocation_parse$closure", "UnresolvedSourceLocation_parse", 130);
+ _static_1(Q, "vm_service_Version_parse$closure", "Version_parse", 131);
+ _static_1(Q, "vm_service_VMRef_parse$closure", "VMRef_parse", 132);
+ _static_1(Q, "vm_service_VM_parse$closure", "VM_parse", 88);
+ _instance_1_u(Q.VmService.prototype, "get$_processMessage", "_processMessage$1", 2);
+ })();
+ (function inheritance() {
+ var _mixin = hunkHelpers.mixin,
+ _inherit = hunkHelpers.inherit,
+ _inheritMany = hunkHelpers.inheritMany;
+ _inherit(P.Object, null);
+ _inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.JSObject, J.ArrayIterator, P.Iterable, H.ListIterator, P.Iterator, H.FixedLengthListMixin, H.Symbol, P.MapView, H.ConstantMap, H.Closure, H.JSInvocationMirror, H.TypeErrorDecoder, P.Error0, H.NullThrownFromJavaScriptException, H.ExceptionAndStackTrace, H._StackTrace, H._Required, P.MapMixin, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, H.Rti, H._FunctionParameters, H._Type, P._TimerImpl, P._AsyncAwaitCompleter, P._BufferingStreamSubscription, P._BroadcastStreamController, P.Future, P.Completer, P._Completer, P._FutureListener, P._Future, P._AsyncCallbackEntry, P.Stream, P.StreamSubscription, P.StreamTransformerBase, P.StreamController, P._StreamController, P._AsyncStreamControllerDispatch, P._StreamSinkWrapper, P._DelayedEvent, P._DelayedDone, P._PendingEvents, P._DoneStreamSubscription, P._StreamIterator, P.AsyncError, P._Zone, P._SetBase, P._LinkedHashSetCell, P._LinkedHashSetIterator, P.ListMixin, P._UnmodifiableMapMixin, P._ListQueueIterator, P.Codec, P._JsonStringifier, P._Utf8Decoder, P.bool, P.DateTime, P.num, P.Duration, P.OutOfMemoryError, P.StackOverflowError, P._Exception, P.FormatException, P.Function, P.List, P.Map, P.MapEntry, P.Null, P.StackTrace, P._StringStackTrace, P.String, P.StringBuffer, P.Symbol0, W.EventStreamProvider, P._AcceptStructuredClone, P._JSRandom, P.ByteBuffer, P.ByteData, P.Int8List, P.Uint8List, P.Uint8ClampedList, P.Int16List, P.Uint16List, P.Int32List, P.Uint32List, P.Float32List, P.Float64List, V.ErrorResult, E.Result, F.ValueResult, G.StreamQueue, G._EventRequest, G._NextRequest, Q._QueueList_Object_ListMixin, Y.Level, L.LogRecord0, F.Logger, R.StreamChannelMixin, K.Uuid, Q.VmService, Q.RPCError, Q.SentinelException, Q.ExtensionData, Q._NullLog, Q.Response, Q.BoundField, Q.ContextElement, Q.CpuSample, Q.Flag, Q.InboundReference, Q.LibraryDependency, Q.MapAssociation, Q.NativeFunction, Q.ProfileFunction, Q.RetainingObject, Q.SourceReportCoverage, Q.SourceReportRange, Q.TimelineEvent]);
+ _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JSArray, J.JSNumber, J.JSString, H.NativeByteBuffer, H.NativeTypedData, W.DomException, W.Event0, W.EventTarget]);
+ _inheritMany(J.JavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction]);
+ _inherit(J.JSUnmodifiableArray, J.JSArray);
+ _inheritMany(J.JSNumber, [J.JSInt, J.JSDouble]);
+ _inheritMany(P.Iterable, [H.EfficientLengthIterable, H.MappedIterable, H._ConstantMapKeyIterable]);
+ _inheritMany(H.EfficientLengthIterable, [H.ListIterable, H.LinkedHashMapKeyIterable]);
+ _inherit(H.EfficientLengthMappedIterable, H.MappedIterable);
+ _inherit(H.MappedIterator, P.Iterator);
+ _inheritMany(H.ListIterable, [H.MappedListIterable, P.ListQueue, P._JsonMapKeyIterable]);
+ _inherit(P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, P.MapView);
+ _inherit(P.UnmodifiableMapView, P._UnmodifiableMapView_MapView__UnmodifiableMapMixin);
+ _inherit(H.ConstantMapView, P.UnmodifiableMapView);
+ _inheritMany(H.Closure, [H.ConstantMap_map_closure, H.Primitives_functionNoSuchMethod_closure, H.TearOffClosure, H.JsLinkedHashMap_addAll_closure, H.initHooks_closure, H.initHooks_closure0, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P._awaitOnObject_closure, P._awaitOnObject_closure0, P._wrapJsFunctionForAsync_closure, P._SyncBroadcastStreamController__sendData_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure, P._Future__chainForeignFuture_closure0, P._Future__chainForeignFuture_closure1, P._Future__asyncCompleteWithValue_closure, P._Future__chainFuture_closure, P._Future__asyncCompleteError_closure, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P.Stream_length_closure, P.Stream_length_closure0, P.Stream_first_closure, P.Stream_first_closure0, P._StreamController__subscribe_closure, P._StreamController__recordCancel_complete, P._BufferingStreamSubscription__sendError_sendError, P._BufferingStreamSubscription__sendDone_sendDone, P._PendingEvents_schedule_closure, P._cancelAndValue_closure, P._rootHandleUncaughtError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindCallbackGuarded_closure, P._RootZone_bindUnaryCallbackGuarded_closure, P.MapBase_mapToString_closure, P.Utf8Decoder_closure, P.Utf8Decoder_closure0, P._JsonStringifier_writeMap_closure, P._symbolMapToStringMap_closure, P.NoSuchMethodError_toString_closure, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, W.HttpRequest_request_closure, W._EventStreamSubscription_closure, W._EventStreamSubscription_onData_closure, P._AcceptStructuredClone_walk_closure, P.convertDartToNative_Dictionary_closure, P.promiseToFuture_closure, P.promiseToFuture_closure0, G.StreamQueue__ensureListening_closure, G.StreamQueue__ensureListening_closure1, G.StreamQueue__ensureListening_closure0, F.Logger_Logger_closure, M.SseClient_closure, M.SseClient_closure0, M.SseClient__closure, Q.createServiceObject_closure, Q._createSpecificObject_closure, Q.VmService_closure, Q.AllocationProfile_toJson_closure, Q.Class_toJson_closure, Q.Class_toJson_closure0, Q.Class_toJson_closure1, Q.Class_toJson_closure2, Q.ClassList_toJson_closure, Q.Context_toJson_closure, Q.CpuSamples_toJson_closure, Q.CpuSamples_toJson_closure0, Q.CpuSample_toJson_closure, Q.Event_toJson_closure, Q.Event_toJson_closure0, Q.Event_toJson_closure1, Q.FlagList_toJson_closure, Q.Frame_toJson_closure, Q.Instance_toJson_closure, Q.Instance_toJson_closure0, Q.Instance_toJson_closure1, Q.Isolate_toJson_closure, Q.Isolate_toJson_closure0, Q.Isolate_toJson_closure1, Q.IsolateGroup_toJson_closure, Q.InboundReferences_toJson_closure, Q.InstanceSet_toJson_closure, Q.Library_toJson_closure, Q.Library_toJson_closure0, Q.Library_toJson_closure1, Q.Library_toJson_closure2, Q.Library_toJson_closure3, Q.RetainingPath_toJson_closure, Q.Script$_fromJson_closure, Q.Script_toJson_closure, Q.ScriptList_toJson_closure, Q.SourceReport_toJson_closure, Q.SourceReport_toJson_closure0, Q.SourceReportCoverage_toJson_closure, Q.SourceReportCoverage_toJson_closure0, Q.SourceReportRange_toJson_closure, Q.Stack_toJson_closure, Q.Stack_toJson_closure0, Q.Stack_toJson_closure1, Q.Stack_toJson_closure2, Q.Timeline_toJson_closure, Q.TimelineFlags_toJson_closure, Q.TimelineFlags_toJson_closure0, Q.TypeArguments_toJson_closure, Q.VM_toJson_closure, Q.VM_toJson_closure0, E.main_closure]);
+ _inherit(H.ConstantStringMap, H.ConstantMap);
+ _inheritMany(P.Error0, [H.NullError, H.JsNoSuchMethodError, H.UnknownJsTypeError, H.RuntimeError, P.AssertionError, H._Error, P.JsonUnsupportedObjectError, P.NullThrownError, P.ArgumentError, P.NoSuchMethodError, P.UnsupportedError, P.UnimplementedError, P.StateError, P.ConcurrentModificationError, P.CyclicInitializationError]);
+ _inheritMany(H.TearOffClosure, [H.StaticClosure, H.BoundClosure]);
+ _inherit(H._AssertionError, P.AssertionError);
+ _inherit(P.MapBase, P.MapMixin);
+ _inheritMany(P.MapBase, [H.JsLinkedHashMap, P._JsonMap]);
+ _inheritMany(H.NativeTypedData, [H.NativeByteData, H.NativeTypedArray]);
+ _inheritMany(H.NativeTypedArray, [H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin]);
+ _inherit(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin);
+ _inherit(H.NativeTypedArrayOfDouble, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin);
+ _inherit(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin);
+ _inherit(H.NativeTypedArrayOfInt, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin);
+ _inheritMany(H.NativeTypedArrayOfDouble, [H.NativeFloat32List, H.NativeFloat64List]);
+ _inheritMany(H.NativeTypedArrayOfInt, [H.NativeInt16List, H.NativeInt32List, H.NativeInt8List, H.NativeUint16List, H.NativeUint32List, H.NativeUint8ClampedList, H.NativeUint8List]);
+ _inherit(H._TypeError, H._Error);
+ _inheritMany(P._BufferingStreamSubscription, [P._ControllerSubscription, P._ForwardingStreamSubscription]);
+ _inherit(P._BroadcastSubscription, P._ControllerSubscription);
+ _inheritMany(P._BroadcastStreamController, [P._SyncBroadcastStreamController, P._AsyncBroadcastStreamController]);
+ _inherit(P._AsyncCompleter, P._Completer);
+ _inherit(P._AsyncStreamController, P._StreamController);
+ _inheritMany(P.Stream, [P._StreamImpl, P._ForwardingStream, W._EventStream]);
+ _inherit(P._ControllerStream, P._StreamImpl);
+ _inheritMany(P._DelayedEvent, [P._DelayedData, P._DelayedError]);
+ _inherit(P._StreamImplEvents, P._PendingEvents);
+ _inherit(P._MapStream, P._ForwardingStream);
+ _inherit(P._RootZone, P._Zone);
+ _inherit(P._LinkedHashSet, P._SetBase);
+ _inherit(P.Converter, P.StreamTransformerBase);
+ _inherit(P.JsonCyclicError, P.JsonUnsupportedObjectError);
+ _inheritMany(P.Codec, [P.JsonCodec, N.HexCodec]);
+ _inheritMany(P.Converter, [P.JsonEncoder, P.JsonDecoder, P.Utf8Decoder, R.HexEncoder]);
+ _inherit(P._JsonStringStringifier, P._JsonStringifier);
+ _inheritMany(P.num, [P.double, P.int]);
+ _inheritMany(P.ArgumentError, [P.RangeError, P.IndexError]);
+ _inheritMany(W.EventTarget, [W.EventSource, W.HttpRequestEventTarget]);
+ _inherit(W.HttpRequest, W.HttpRequestEventTarget);
+ _inheritMany(W.Event0, [W.MessageEvent, W.ProgressEvent]);
+ _inherit(W._EventStreamSubscription, P.StreamSubscription);
+ _inherit(P._AcceptStructuredCloneDart2Js, P._AcceptStructuredClone);
+ _inherit(Q.QueueList, Q._QueueList_Object_ListMixin);
+ _inherit(M.SseClient, R.StreamChannelMixin);
+ _inheritMany(Q.Response, [Q.AllocationProfile, Q.BoundVariable, Q.Obj, Q.ObjRef, Q.ClassHeapStats, Q.ClassList, Q.ClientName, Q.CpuSamples, Q.Event, Q.FlagList, Q.Frame, Q.IsolateRef, Q.Isolate, Q.IsolateGroupRef, Q.IsolateGroup, Q.InboundReferences, Q.InstanceSet, Q.LogRecord, Q.MemoryUsage, Q.Message, Q.ReloadReport, Q.RetainingPath, Q.Sentinel, Q.ScriptList, Q.SourceLocation, Q.SourceReport, Q.Stack, Q.Success, Q.Timeline, Q.TimelineFlags, Q.Timestamp, Q.UnresolvedSourceLocation, Q.Version, Q.VMRef, Q.VM]);
+ _inheritMany(Q.Obj, [Q.Breakpoint, Q.Class, Q.Context, Q.Error, Q.Field, Q.Func, Q.Instance, Q.Library, Q.Script, Q.TypeArguments]);
+ _inheritMany(Q.ObjRef, [Q.ClassRef, Q.CodeRef, Q.Code, Q.ContextRef, Q.ErrorRef, Q.FieldRef, Q.FuncRef, Q.InstanceRef, Q.LibraryRef, Q.ScriptRef, Q.TypeArgumentsRef]);
+ _inherit(Q.NullValRef, Q.InstanceRef);
+ _inherit(Q.NullVal, Q.Instance);
+ _mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, P.ListMixin);
+ _mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin);
+ _mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, P.ListMixin);
+ _mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin);
+ _mixin(P._AsyncStreamController, P._AsyncStreamControllerDispatch);
+ _mixin(P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, P._UnmodifiableMapMixin);
+ _mixin(Q._QueueList_Object_ListMixin, P.ListMixin);
+ })();
+ var init = {
+ typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []},
+ mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"},
+ mangledNames: {},
+ getTypeFromName: getGlobalFromName,
+ metadata: [],
+ types: ["~()", "Null()", "~(@)", "@(@)", "int*(int*)", "String*(String*)", "~(~())", "~(Object,StackTrace)", "Map<String*,@>*(ClassRef*)", "Map<String*,@>*(ScriptRef*)", "Map<String*,@>*(Frame*)", "Null(@)", "~(Object?)", "Null(Object?,Object?)", "@()", "Null(Symbol0,@)", "String(int)", "@(Event0)", "~(Event0*)", "Null(Event0*)", "Map<String*,@>*(InstanceRef*)", "Map<String*,@>*(FieldRef*)", "Map<String*,@>*(FuncRef*)", "Map<String*,@>*(Breakpoint*)", "Map<String*,@>*(TimelineEvent*)", "Map<String*,@>*(IsolateRef*)", "Map<String*,@>*(BoundField*)", "Null(Object,StackTrace)", "_Future<@>(@)", "Object*(@)", "Map<String*,@>*(ClassHeapStats*)", "@(@,String)", "~(@,StackTrace)", "Null(~())", "Null(@,StackTrace)", "Map<String*,@>*(ContextElement*)", "Map<String*,@>*(ProfileFunction*)", "Map<String*,@>*(CpuSample*)", "Null(int,@)", "~(Object[StackTrace?])", "Null(ProgressEvent)", "@(String)", "Map<String*,@>*(Flag*)", "Map<String*,@>*(BoundVariable*)", "Null(String,@)", "Map<String*,@>*(MapAssociation*)", "Map<String*,@>*(LibraryRef*)", "@(@,@)", "Map<String*,@>*(InboundReference*)", "Map<String*,@>*(ObjRef*)", "Map<String*,@>*(LibraryDependency*)", "Null(@,@)", "Map<String*,@>*(RetainingObject*)", "List<int*>*(@)", "List<int*>*(List<int*>*)", "Map<String*,@>*(SourceReportRange*)", "Null(@,StackTrace*)", "Map<String*,@>*(Message*)", "Map<String*,@>*(IsolateGroupRef*)", "~(String*)", "Logger*()", "ExtensionData*(Map<@,@>*)", "AllocationProfile*(Map<String*,@>*)", "BoundField*(Map<String*,@>*)", "BoundVariable*(Map<String*,@>*)", "Breakpoint*(Map<String*,@>*)", "ClassRef*(Map<String*,@>*)", "Class*(Map<String*,@>*)", "ClassHeapStats*(Map<String*,@>*)", "ClassList*(Map<String*,@>*)", "ClientName*(Map<String*,@>*)", "CodeRef*(Map<String*,@>*)", "Code*(Map<String*,@>*)", "ContextRef*(Map<String*,@>*)", "Context*(Map<String*,@>*)", "ContextElement*(Map<String*,@>*)", "CpuSamples*(Map<String*,@>*)", "CpuSample*(Map<String*,@>*)", "ErrorRef*(Map<String*,@>*)", "Error*(Map<String*,@>*)", "Event*(Map<String*,@>*)", "FieldRef*(Map<String*,@>*)", "Field*(Map<String*,@>*)", "Flag*(Map<String*,@>*)", "FlagList*(Map<String*,@>*)", "Frame*(Map<String*,@>*)", "FuncRef*(Map<String*,@>*)", "Func*(Map<String*,@>*)", "VM*(Map<String*,@>*)", "Instance*(Map<String*,@>*)", "IsolateRef*(Map<String*,@>*)", "Isolate*(Map<String*,@>*)", "IsolateGroupRef*(Map<String*,@>*)", "IsolateGroup*(Map<String*,@>*)", "InboundReferences*(Map<String*,@>*)", "InboundReference*(Map<String*,@>*)", "InstanceSet*(Map<String*,@>*)", "LibraryRef*(Map<String*,@>*)", "Library*(Map<String*,@>*)", "LibraryDependency*(Map<String*,@>*)", "LogRecord*(Map<String*,@>*)", "MapAssociation*(Map<String*,@>*)", "MemoryUsage*(Map<String*,@>*)", "Message*(Map<String*,@>*)", "NativeFunction*(Map<String*,@>*)", "NullValRef*(Map<String*,@>*)", "NullVal*(Map<String*,@>*)", "ObjRef*(Map<String*,@>*)", "Obj*(Map<String*,@>*)", "ProfileFunction*(Map<String*,@>*)", "ReloadReport*(Map<String*,@>*)", "RetainingObject*(Map<String*,@>*)", "RetainingPath*(Map<String*,@>*)", "Response*(Map<String*,@>*)", "Sentinel*(Map<String*,@>*)", "ScriptRef*(Map<String*,@>*)", "Script*(Map<String*,@>*)", "ScriptList*(Map<String*,@>*)", "SourceLocation*(Map<String*,@>*)", "SourceReport*(Map<String*,@>*)", "SourceReportCoverage*(Map<String*,@>*)", "SourceReportRange*(Map<String*,@>*)", "Stack*(Map<String*,@>*)", "Success*(Map<String*,@>*)", "Timeline*(Map<String*,@>*)", "TimelineEvent*(Map<String*,@>*)", "TimelineFlags*(Map<String*,@>*)", "Timestamp*(Map<String*,@>*)", "TypeArgumentsRef*(Map<String*,@>*)", "TypeArguments*(Map<String*,@>*)", "UnresolvedSourceLocation*(Map<String*,@>*)", "Version*(Map<String*,@>*)", "VMRef*(Map<String*,@>*)", "InstanceRef*(Map<String*,@>*)"],
+ interceptorsByTag: null,
+ leafTags: null,
+ arrayRti: typeof Symbol == "function" && typeof Symbol() == "symbol" ? Symbol("$ti") : "$ti"
+ };
+ H._Universe_addRules(init.typeUniverse, JSON.parse('{"JavaScriptFunction":"JavaScriptObject","PlainJavaScriptObject":"JavaScriptObject","UnknownJavaScriptObject":"JavaScriptObject","AbortPaymentEvent":"Event0","ExtendableEvent":"Event0","_ResourceProgressEvent":"ProgressEvent","MessagePort":"EventTarget","JSBool":{"bool":[]},"JSNull":{"Null":[]},"JavaScriptObject":{"Function":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"JSIndexable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"JSIndexable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[]},"JSInt":{"double":[],"int":[],"num":[]},"JSDouble":{"double":[],"num":[]},"JSString":{"String":[],"Pattern":[],"JSIndexable":["@"]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_ConstantMapKeyIterable":{"Iterable":["1"],"Iterable.E":"1"},"JSInvocationMirror":{"Invocation":[]},"NullError":{"Error0":[]},"JsNoSuchMethodError":{"Error0":[]},"UnknownJsTypeError":{"Error0":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"RuntimeError":{"Error0":[]},"_AssertionError":{"Error0":[]},"JsLinkedHashMap":{"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"NativeByteData":{"ByteData":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JSIndexable":["1"]},"NativeTypedArrayOfDouble":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"EfficientLengthIterable":["double"],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"EfficientLengthIterable":["int"],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"EfficientLengthIterable":["double"],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double"},"NativeFloat64List":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"EfficientLengthIterable":["double"],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double"},"NativeInt16List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"EfficientLengthIterable":["int"],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"EfficientLengthIterable":["int"],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeInt8List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"EfficientLengthIterable":["int"],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint16List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"EfficientLengthIterable":["int"],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"EfficientLengthIterable":["int"],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8ClampedList":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"EfficientLengthIterable":["int"],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"NativeUint8List":{"ListMixin":["int"],"Uint8List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"EfficientLengthIterable":["int"],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int"},"_Error":{"Error0":[]},"_TypeError":{"Error0":[]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_BroadcastSubscription":{"_ControllerSubscription":["1"],"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_BroadcastStreamController":{"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncBroadcastStreamController":{"_BroadcastStreamController":["1"],"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncBroadcastStreamController":{"_BroadcastStreamController":["1"],"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_Future":{"Future":["1"]},"_StreamController":{"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_StreamImplEvents":{"_PendingEvents":["1"]},"_DoneStreamSubscription":{"StreamSubscription":["1"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"AsyncError":{"Error0":[]},"_Zone":{"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_LinkedHashSet":{"_SetBase":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedHashSetIterator":{"Iterator":["1"]},"MapBase":{"MapMixin":["1","2"],"Map":["1","2"]},"MapMixin":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"ListIterable":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"_SetBase":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"_JsonMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"JsonUnsupportedObjectError":{"Error0":[]},"JsonCyclicError":{"Error0":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"]},"Utf8Decoder":{"Converter":["List<int>","String"]},"double":{"num":[]},"AssertionError":{"Error0":[]},"NullThrownError":{"Error0":[]},"ArgumentError":{"Error0":[]},"RangeError":{"Error0":[]},"IndexError":{"Error0":[]},"NoSuchMethodError":{"Error0":[]},"UnsupportedError":{"Error0":[]},"UnimplementedError":{"Error0":[]},"StateError":{"Error0":[]},"ConcurrentModificationError":{"Error0":[]},"OutOfMemoryError":{"Error0":[]},"StackOverflowError":{"Error0":[]},"CyclicInitializationError":{"Error0":[]},"int":{"num":[]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"_StringStackTrace":{"StackTrace":[]},"String":{"Pattern":[]},"StringBuffer":{"StringSink":[]},"EventSource":{"EventTarget":[]},"HttpRequest":{"EventTarget":[]},"HttpRequestEventTarget":{"EventTarget":[]},"MessageEvent":{"Event0":[]},"ProgressEvent":{"Event0":[]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"ErrorResult":{"Result":["Null"]},"ValueResult":{"Result":["1*"]},"_NextRequest":{"_EventRequest":["1*"]},"QueueList":{"ListMixin":["1*"],"List":["1*"],"Queue":["1*"],"EfficientLengthIterable":["1*"],"Iterable":["1*"],"ListMixin.E":"1*"},"HexCodec":{"Codec":["List<int*>*","String*"],"Codec.S":"List<int*>*"},"HexEncoder":{"Converter":["List<int*>*","String*"]},"_NullLog":{"Log":[]},"Breakpoint":{"ObjRef":[]},"ClassRef":{"ObjRef":[]},"Class":{"ClassRef":[],"ObjRef":[]},"CodeRef":{"ObjRef":[]},"Code":{"CodeRef":[],"ObjRef":[]},"ContextRef":{"ObjRef":[]},"Context":{"ContextRef":[],"ObjRef":[]},"ErrorRef":{"ObjRef":[]},"Error":{"ErrorRef":[],"ObjRef":[]},"FieldRef":{"ObjRef":[]},"Field":{"FieldRef":[],"ObjRef":[]},"FuncRef":{"ObjRef":[]},"Func":{"FuncRef":[],"ObjRef":[]},"InstanceRef":{"ObjRef":[]},"Instance":{"InstanceRef":[],"ObjRef":[]},"Isolate":{"IsolateRef":[]},"IsolateGroup":{"IsolateGroupRef":[]},"LibraryRef":{"ObjRef":[]},"Library":{"LibraryRef":[],"ObjRef":[]},"NullValRef":{"InstanceRef":[],"ObjRef":[]},"NullVal":{"NullValRef":[],"InstanceRef":[],"ObjRef":[]},"Obj":{"ObjRef":[]},"ScriptRef":{"ObjRef":[]},"Script":{"ScriptRef":[],"ObjRef":[]},"TypeArgumentsRef":{"ObjRef":[]},"TypeArguments":{"TypeArgumentsRef":[],"ObjRef":[]},"VM":{"VMRef":[]}}'));
+ H._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"EfficientLengthIterable":1,"NativeTypedArray":1,"StreamTransformerBase":2,"MapBase":2,"MapEntry":2,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}'));
+ var type$ = (function rtii() {
+ var findType = H.findType;
+ return {
+ $env_1_1_void: findType("@<~>"),
+ AsyncError: findType("AsyncError"),
+ ConstantMapView_Symbol_dynamic: findType("ConstantMapView<Symbol0,@>"),
+ Duration: findType("Duration"),
+ EfficientLengthIterable_dynamic: findType("EfficientLengthIterable<@>"),
+ Error: findType("Error0"),
+ Event: findType("Event0"),
+ Function: findType("Function"),
+ Future_dynamic: findType("Future<@>"),
+ Future_void: findType("Future<~>"),
+ HexCodec: findType("HexCodec"),
+ Invocation: findType("Invocation"),
+ Iterable_dynamic: findType("Iterable<@>"),
+ JSArray_String: findType("JSArray<String>"),
+ JSArray_dynamic: findType("JSArray<@>"),
+ JSArray_int: findType("JSArray<int>"),
+ JSArray_legacy_Result_legacy_String: findType("JSArray<Result<String*>*>"),
+ JSArray_legacy_String: findType("JSArray<String*>"),
+ JSArray_legacy_int: findType("JSArray<int*>"),
+ JSIndexable_dynamic: findType("JSIndexable<@>"),
+ JSNull: findType("JSNull"),
+ JavaScriptFunction: findType("JavaScriptFunction"),
+ JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"),
+ JsLinkedHashMap_String_dynamic: findType("JsLinkedHashMap<String,@>"),
+ JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap<Symbol0,@>"),
+ JsLinkedHashMap_of_legacy_String_and_dynamic: findType("JsLinkedHashMap<String*,@>"),
+ JsLinkedHashMap_of_legacy_String_and_legacy_int: findType("JsLinkedHashMap<String*,int*>"),
+ ListQueue_legacy__EventRequest_dynamic: findType("ListQueue<_EventRequest<@>*>"),
+ List_dynamic: findType("List<@>"),
+ List_int: findType("List<int>"),
+ Map_dynamic_dynamic: findType("Map<@,@>"),
+ Null: findType("Null"),
+ Object: findType("Object"),
+ ProgressEvent: findType("ProgressEvent"),
+ QueueList_legacy_Result_legacy_String: findType("QueueList<Result<String*>*>"),
+ StackTrace: findType("StackTrace"),
+ StreamQueue_legacy_String: findType("StreamQueue<String*>"),
+ Stream_dynamic: findType("Stream<@>"),
+ String: findType("String"),
+ Symbol: findType("Symbol0"),
+ UnknownJavaScriptObject: findType("UnknownJavaScriptObject"),
+ _AsyncCompleter_HttpRequest: findType("_AsyncCompleter<HttpRequest>"),
+ _AsyncCompleter_dynamic: findType("_AsyncCompleter<@>"),
+ _AsyncCompleter_legacy_Version: findType("_AsyncCompleter<Version*>"),
+ _EventStream_legacy_Event: findType("_EventStream<Event0*>"),
+ _Future_HttpRequest: findType("_Future<HttpRequest>"),
+ _Future_bool: findType("_Future<bool>"),
+ _Future_dynamic: findType("_Future<@>"),
+ _Future_int: findType("_Future<int>"),
+ _Future_legacy_Version: findType("_Future<Version*>"),
+ _Future_void: findType("_Future<~>"),
+ _StreamControllerAddStreamState_nullable_Object: findType("_StreamControllerAddStreamState<Object?>"),
+ _StreamIterator_dynamic: findType("_StreamIterator<@>"),
+ bool: findType("bool"),
+ bool_Function_Object: findType("bool(Object)"),
+ double: findType("double"),
+ dynamic: findType("@"),
+ dynamic_Function: findType("@()"),
+ dynamic_Function_Object: findType("@(Object)"),
+ dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"),
+ dynamic_Function_dynamic_dynamic: findType("@(@,@)"),
+ int: findType("int"),
+ legacy_BoundField: findType("BoundField*"),
+ legacy_BoundVariable: findType("BoundVariable*"),
+ legacy_Breakpoint: findType("Breakpoint*"),
+ legacy_ByteData: findType("ByteData*"),
+ legacy_ClassHeapStats: findType("ClassHeapStats*"),
+ legacy_ClassRef: findType("ClassRef*"),
+ legacy_CodeRef: findType("CodeRef*"),
+ legacy_Completer_dynamic: findType("Completer<@>*"),
+ legacy_Context: findType("Context*"),
+ legacy_ContextElement: findType("ContextElement*"),
+ legacy_ContextRef: findType("ContextRef*"),
+ legacy_CpuSample: findType("CpuSample*"),
+ legacy_Error: findType("Error*"),
+ legacy_ErrorRef: findType("ErrorRef*"),
+ legacy_Event: findType("Event*"),
+ legacy_Event_2: findType("Event0*"),
+ legacy_FieldRef: findType("FieldRef*"),
+ legacy_Flag: findType("Flag*"),
+ legacy_Frame: findType("Frame*"),
+ legacy_FuncRef: findType("FuncRef*"),
+ legacy_InboundReference: findType("InboundReference*"),
+ legacy_InstanceRef: findType("InstanceRef*"),
+ legacy_IsolateGroupRef: findType("IsolateGroupRef*"),
+ legacy_IsolateRef: findType("IsolateRef*"),
+ legacy_Level: findType("Level*"),
+ legacy_LibraryDependency: findType("LibraryDependency*"),
+ legacy_LibraryRef: findType("LibraryRef*"),
+ legacy_List_dynamic: findType("List<@>*"),
+ legacy_List_legacy_BoundField: findType("List<BoundField*>*"),
+ legacy_List_legacy_BoundVariable: findType("List<BoundVariable*>*"),
+ legacy_List_legacy_Breakpoint: findType("List<Breakpoint*>*"),
+ legacy_List_legacy_ClassHeapStats: findType("List<ClassHeapStats*>*"),
+ legacy_List_legacy_ClassRef: findType("List<ClassRef*>*"),
+ legacy_List_legacy_ContextElement: findType("List<ContextElement*>*"),
+ legacy_List_legacy_CpuSample: findType("List<CpuSample*>*"),
+ legacy_List_legacy_FieldRef: findType("List<FieldRef*>*"),
+ legacy_List_legacy_Flag: findType("List<Flag*>*"),
+ legacy_List_legacy_Frame: findType("List<Frame*>*"),
+ legacy_List_legacy_FuncRef: findType("List<FuncRef*>*"),
+ legacy_List_legacy_InboundReference: findType("List<InboundReference*>*"),
+ legacy_List_legacy_InstanceRef: findType("List<InstanceRef*>*"),
+ legacy_List_legacy_IsolateGroupRef: findType("List<IsolateGroupRef*>*"),
+ legacy_List_legacy_IsolateRef: findType("List<IsolateRef*>*"),
+ legacy_List_legacy_LibraryDependency: findType("List<LibraryDependency*>*"),
+ legacy_List_legacy_LibraryRef: findType("List<LibraryRef*>*"),
+ legacy_List_legacy_List_legacy_int: findType("List<List<int*>*>*"),
+ legacy_List_legacy_MapAssociation: findType("List<MapAssociation*>*"),
+ legacy_List_legacy_Message: findType("List<Message*>*"),
+ legacy_List_legacy_ObjRef: findType("List<ObjRef*>*"),
+ legacy_List_legacy_ProfileFunction: findType("List<ProfileFunction*>*"),
+ legacy_List_legacy_RetainingObject: findType("List<RetainingObject*>*"),
+ legacy_List_legacy_ScriptRef: findType("List<ScriptRef*>*"),
+ legacy_List_legacy_SourceReportRange: findType("List<SourceReportRange*>*"),
+ legacy_List_legacy_String: findType("List<String*>*"),
+ legacy_List_legacy_TimelineEvent: findType("List<TimelineEvent*>*"),
+ legacy_List_legacy_int: findType("List<int*>*"),
+ legacy_LogRecord: findType("LogRecord*"),
+ legacy_Logger: findType("Logger*"),
+ legacy_MapAssociation: findType("MapAssociation*"),
+ legacy_Map_dynamic_dynamic: findType("Map<@,@>*"),
+ legacy_Map_of_legacy_String_and_dynamic: findType("Map<String*,@>*"),
+ legacy_Map_of_legacy_String_and_legacy_int: findType("Map<String*,int*>*"),
+ legacy_Map_of_legacy_Symbol_and_dynamic: findType("Map<Symbol0*,@>*"),
+ legacy_MemoryUsage: findType("MemoryUsage*"),
+ legacy_Message: findType("Message*"),
+ legacy_MessageEvent: findType("MessageEvent*"),
+ legacy_Never: findType("0&*"),
+ legacy_NullValRef: findType("NullValRef*"),
+ legacy_ObjRef: findType("ObjRef*"),
+ legacy_Object: findType("Object*"),
+ legacy_ProfileFunction: findType("ProfileFunction*"),
+ legacy_ProgressEvent: findType("ProgressEvent*"),
+ legacy_RetainingObject: findType("RetainingObject*"),
+ legacy_ScriptRef: findType("ScriptRef*"),
+ legacy_SourceLocation: findType("SourceLocation*"),
+ legacy_SourceReportCoverage: findType("SourceReportCoverage*"),
+ legacy_SourceReportRange: findType("SourceReportRange*"),
+ legacy_StackTrace: findType("StackTrace*"),
+ legacy_StreamController_legacy_Event: findType("StreamController<Event*>*"),
+ legacy_String: findType("String*"),
+ legacy_TimelineEvent: findType("TimelineEvent*"),
+ legacy_TypeArgumentsRef: findType("TypeArgumentsRef*"),
+ legacy_VMRef: findType("VMRef*"),
+ legacy_int: findType("int*"),
+ legacy_legacy_Future_dynamic_Function: findType("Future<@>*()*"),
+ legacy_legacy_Future_legacy_Map_of_legacy_String_and_dynamic_Function_legacy_Map_of_legacy_String_and_dynamic: findType("Future<Map<String*,@>*>*(Map<String*,@>*)*"),
+ nullable_Future_Null: findType("Future<Null>?"),
+ nullable_List_dynamic: findType("List<@>?"),
+ nullable_Object: findType("Object?"),
+ nullable__DelayedEvent_dynamic: findType("_DelayedEvent<@>?"),
+ nullable__EventRequest_dynamic: findType("_EventRequest<@>?"),
+ nullable__FutureListener_dynamic_dynamic: findType("_FutureListener<@,@>?"),
+ nullable__LinkedHashSetCell: findType("_LinkedHashSetCell?"),
+ nullable_dynamic_Function_Event: findType("@(Event0)?"),
+ nullable_nullable_Object_Function_2_nullable_Object_and_nullable_Object: findType("Object?(Object?,Object?)?"),
+ nullable_nullable_Object_Function_dynamic: findType("Object?(@)?"),
+ nullable_void_Function: findType("~()?"),
+ nullable_void_Function_legacy_Event: findType("~(Event0*)?"),
+ nullable_void_Function_legacy_ProgressEvent: findType("~(ProgressEvent*)?"),
+ num: findType("num"),
+ void: findType("~"),
+ void_Function: findType("~()"),
+ void_Function_Object: findType("~(Object)"),
+ void_Function_Object_StackTrace: findType("~(Object,StackTrace)"),
+ void_Function_String_dynamic: findType("~(String,@)")
+ };
+ })();
+ (function constants() {
+ var makeConstList = hunkHelpers.makeConstList;
+ C.EventSource_methods = W.EventSource.prototype;
+ C.HttpRequest_methods = W.HttpRequest.prototype;
+ C.Interceptor_methods = J.Interceptor.prototype;
+ C.JSArray_methods = J.JSArray.prototype;
+ C.JSDouble_methods = J.JSDouble.prototype;
+ C.JSInt_methods = J.JSInt.prototype;
+ C.JSNull_methods = J.JSNull.prototype;
+ C.JSNumber_methods = J.JSNumber.prototype;
+ C.JSString_methods = J.JSString.prototype;
+ C.JavaScriptFunction_methods = J.JavaScriptFunction.prototype;
+ C.NativeByteData_methods = H.NativeByteData.prototype;
+ C.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype;
+ C.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype;
+ C.C_HexCodec = new N.HexCodec();
+ C.C_HexEncoder = new R.HexEncoder();
+ C.C_JS_CONST = function getTagFallback(o) {
+ var s = Object.prototype.toString.call(o);
+ return s.substring(8, s.length - 1);
+};
+ C.C_JS_CONST0 = function() {
+ var toStringFunction = Object.prototype.toString;
+ function getTag(o) {
+ var s = toStringFunction.call(o);
+ return s.substring(8, s.length - 1);
+ }
+ function getUnknownTag(object, tag) {
+ if (/^HTML[A-Z].*Element$/.test(tag)) {
+ var name = toStringFunction.call(object);
+ if (name == "[object Object]") return null;
+ return "HTMLElement";
+ }
+ }
+ function getUnknownTagGenericBrowser(object, tag) {
+ if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement";
+ return getUnknownTag(object, tag);
+ }
+ function prototypeForTag(tag) {
+ if (typeof window == "undefined") return null;
+ if (typeof window[tag] == "undefined") return null;
+ var constructor = window[tag];
+ if (typeof constructor != "function") return null;
+ return constructor.prototype;
+ }
+ function discriminator(tag) { return null; }
+ var isBrowser = typeof navigator == "object";
+ return {
+ getTag: getTag,
+ getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag,
+ prototypeForTag: prototypeForTag,
+ discriminator: discriminator };
+};
+ C.C_JS_CONST6 = function(getTagFallback) {
+ return function(hooks) {
+ if (typeof navigator != "object") return hooks;
+ var ua = navigator.userAgent;
+ if (ua.indexOf("DumpRenderTree") >= 0) return hooks;
+ if (ua.indexOf("Chrome") >= 0) {
+ function confirm(p) {
+ return typeof window == "object" && window[p] && window[p].name == p;
+ }
+ if (confirm("Window") && confirm("HTMLElement")) return hooks;
+ }
+ hooks.getTag = getTagFallback;
+ };
+};
+ C.C_JS_CONST1 = function(hooks) {
+ if (typeof dartExperimentalFixupGetTag != "function") return hooks;
+ hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag);
+};
+ C.C_JS_CONST2 = function(hooks) {
+ var getTag = hooks.getTag;
+ var prototypeForTag = hooks.prototypeForTag;
+ function getTagFixed(o) {
+ var tag = getTag(o);
+ if (tag == "Document") {
+ if (!!o.xmlVersion) return "!Document";
+ return "!HTMLDocument";
+ }
+ return tag;
+ }
+ function prototypeForTagFixed(tag) {
+ if (tag == "Document") return null;
+ return prototypeForTag(tag);
+ }
+ hooks.getTag = getTagFixed;
+ hooks.prototypeForTag = prototypeForTagFixed;
+};
+ C.C_JS_CONST5 = function(hooks) {
+ var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
+ if (userAgent.indexOf("Firefox") == -1) return hooks;
+ var getTag = hooks.getTag;
+ var quickMap = {
+ "BeforeUnloadEvent": "Event",
+ "DataTransfer": "Clipboard",
+ "GeoGeolocation": "Geolocation",
+ "Location": "!Location",
+ "WorkerMessageEvent": "MessageEvent",
+ "XMLDocument": "!Document"};
+ function getTagFirefox(o) {
+ var tag = getTag(o);
+ return quickMap[tag] || tag;
+ }
+ hooks.getTag = getTagFirefox;
+};
+ C.C_JS_CONST4 = function(hooks) {
+ var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
+ if (userAgent.indexOf("Trident/") == -1) return hooks;
+ var getTag = hooks.getTag;
+ var quickMap = {
+ "BeforeUnloadEvent": "Event",
+ "DataTransfer": "Clipboard",
+ "HTMLDDElement": "HTMLElement",
+ "HTMLDTElement": "HTMLElement",
+ "HTMLPhraseElement": "HTMLElement",
+ "Position": "Geoposition"
+ };
+ function getTagIE(o) {
+ var tag = getTag(o);
+ var newTag = quickMap[tag];
+ if (newTag) return newTag;
+ if (tag == "Object") {
+ if (window.DataView && (o instanceof window.DataView)) return "DataView";
+ }
+ return tag;
+ }
+ function prototypeForTagIE(tag) {
+ var constructor = window[tag];
+ if (constructor == null) return null;
+ return constructor.prototype;
+ }
+ hooks.getTag = getTagIE;
+ hooks.prototypeForTag = prototypeForTagIE;
+};
+ C.C_JS_CONST3 = function(hooks) { return hooks; }
+;
+ C.C_JsonCodec = new P.JsonCodec();
+ C.C_OutOfMemoryError = new P.OutOfMemoryError();
+ C.C__DelayedDone = new P._DelayedDone();
+ C.C__JSRandom = new P._JSRandom();
+ C.C__Required = new H._Required();
+ C.C__RootZone = new P._RootZone();
+ C.C__StringStackTrace = new P._StringStackTrace();
+ C.Duration_0 = new P.Duration(0);
+ C.Duration_5000000 = new P.Duration(5000000);
+ C.JsonDecoder_null = new P.JsonDecoder(null);
+ C.JsonEncoder_null = new P.JsonEncoder(null);
+ C.Level_INFO_800 = new Y.Level("INFO", 800);
+ C.Level_WARNING_900 = new Y.Level("WARNING", 900);
+ C.List_AllocationProfile = H.setRuntimeTypeInfo(makeConstList(["AllocationProfile"]), type$.JSArray_legacy_String);
+ C.List_BoundField = H.setRuntimeTypeInfo(makeConstList(["BoundField"]), type$.JSArray_legacy_String);
+ C.List_BoundVariable = H.setRuntimeTypeInfo(makeConstList(["BoundVariable"]), type$.JSArray_legacy_String);
+ C.List_Breakpoint = H.setRuntimeTypeInfo(makeConstList(["Breakpoint"]), type$.JSArray_legacy_String);
+ C.List_ClassHeapStats = H.setRuntimeTypeInfo(makeConstList(["ClassHeapStats"]), type$.JSArray_legacy_String);
+ C.List_ClassList = H.setRuntimeTypeInfo(makeConstList(["ClassList"]), type$.JSArray_legacy_String);
+ C.List_ClassRef = H.setRuntimeTypeInfo(makeConstList(["ClassRef"]), type$.JSArray_legacy_String);
+ C.List_ClientName = H.setRuntimeTypeInfo(makeConstList(["ClientName"]), type$.JSArray_legacy_String);
+ C.List_CodeRef = H.setRuntimeTypeInfo(makeConstList(["CodeRef"]), type$.JSArray_legacy_String);
+ C.List_Context = H.setRuntimeTypeInfo(makeConstList(["Context"]), type$.JSArray_legacy_String);
+ C.List_ContextElement = H.setRuntimeTypeInfo(makeConstList(["ContextElement"]), type$.JSArray_legacy_String);
+ C.List_ContextRef = H.setRuntimeTypeInfo(makeConstList(["ContextRef"]), type$.JSArray_legacy_String);
+ C.List_CpuSample = H.setRuntimeTypeInfo(makeConstList(["CpuSample"]), type$.JSArray_legacy_String);
+ C.List_CpuSamples = H.setRuntimeTypeInfo(makeConstList(["CpuSamples"]), type$.JSArray_legacy_String);
+ C.List_Error = H.setRuntimeTypeInfo(makeConstList(["Error"]), type$.JSArray_legacy_String);
+ C.List_ErrorRef = H.setRuntimeTypeInfo(makeConstList(["ErrorRef"]), type$.JSArray_legacy_String);
+ C.List_Event = H.setRuntimeTypeInfo(makeConstList(["Event"]), type$.JSArray_legacy_String);
+ C.List_FieldRef = H.setRuntimeTypeInfo(makeConstList(["FieldRef"]), type$.JSArray_legacy_String);
+ C.List_Flag = H.setRuntimeTypeInfo(makeConstList(["Flag"]), type$.JSArray_legacy_String);
+ C.List_FlagList = H.setRuntimeTypeInfo(makeConstList(["FlagList"]), type$.JSArray_legacy_String);
+ C.List_Frame = H.setRuntimeTypeInfo(makeConstList(["Frame"]), type$.JSArray_legacy_String);
+ C.List_FuncRef = H.setRuntimeTypeInfo(makeConstList(["FuncRef"]), type$.JSArray_legacy_String);
+ C.List_InboundReference = H.setRuntimeTypeInfo(makeConstList(["InboundReference"]), type$.JSArray_legacy_String);
+ C.List_InboundReferences = H.setRuntimeTypeInfo(makeConstList(["InboundReferences"]), type$.JSArray_legacy_String);
+ C.List_InstanceRef = H.setRuntimeTypeInfo(makeConstList(["InstanceRef"]), type$.JSArray_legacy_String);
+ C.List_InstanceRef_ErrorRef = H.setRuntimeTypeInfo(makeConstList(["InstanceRef", "ErrorRef"]), type$.JSArray_legacy_String);
+ C.List_InstanceRef_Sentinel = H.setRuntimeTypeInfo(makeConstList(["InstanceRef", "Sentinel"]), type$.JSArray_legacy_String);
+ C.List_InstanceSet = H.setRuntimeTypeInfo(makeConstList(["InstanceSet"]), type$.JSArray_legacy_String);
+ C.List_Isolate = H.setRuntimeTypeInfo(makeConstList(["Isolate"]), type$.JSArray_legacy_String);
+ C.List_IsolateGroup = H.setRuntimeTypeInfo(makeConstList(["IsolateGroup"]), type$.JSArray_legacy_String);
+ C.List_IsolateGroupRef = H.setRuntimeTypeInfo(makeConstList(["IsolateGroupRef"]), type$.JSArray_legacy_String);
+ C.List_IsolateRef = H.setRuntimeTypeInfo(makeConstList(["IsolateRef"]), type$.JSArray_legacy_String);
+ C.List_LibraryRef = H.setRuntimeTypeInfo(makeConstList(["LibraryRef"]), type$.JSArray_legacy_String);
+ C.List_LibraryRef_ClassRef_FuncRef = H.setRuntimeTypeInfo(makeConstList(["LibraryRef", "ClassRef", "FuncRef"]), type$.JSArray_legacy_String);
+ C.List_LogRecord = H.setRuntimeTypeInfo(makeConstList(["LogRecord"]), type$.JSArray_legacy_String);
+ C.List_MemoryUsage = H.setRuntimeTypeInfo(makeConstList(["MemoryUsage"]), type$.JSArray_legacy_String);
+ C.List_Message = H.setRuntimeTypeInfo(makeConstList(["Message"]), type$.JSArray_legacy_String);
+ C.List_Obj = H.setRuntimeTypeInfo(makeConstList(["Obj"]), type$.JSArray_legacy_String);
+ C.List_ObjRef = H.setRuntimeTypeInfo(makeConstList(["ObjRef"]), type$.JSArray_legacy_String);
+ C.List_PAk = H.setRuntimeTypeInfo(makeConstList(["InstanceRef", "TypeArgumentsRef", "Sentinel"]), type$.JSArray_legacy_String);
+ C.List_ProfileFunction = H.setRuntimeTypeInfo(makeConstList(["ProfileFunction"]), type$.JSArray_legacy_String);
+ C.List_ReloadReport = H.setRuntimeTypeInfo(makeConstList(["ReloadReport"]), type$.JSArray_legacy_String);
+ C.List_RetainingObject = H.setRuntimeTypeInfo(makeConstList(["RetainingObject"]), type$.JSArray_legacy_String);
+ C.List_RetainingPath = H.setRuntimeTypeInfo(makeConstList(["RetainingPath"]), type$.JSArray_legacy_String);
+ C.List_ScriptList = H.setRuntimeTypeInfo(makeConstList(["ScriptList"]), type$.JSArray_legacy_String);
+ C.List_ScriptRef = H.setRuntimeTypeInfo(makeConstList(["ScriptRef"]), type$.JSArray_legacy_String);
+ C.List_SourceLocation = H.setRuntimeTypeInfo(makeConstList(["SourceLocation"]), type$.JSArray_legacy_String);
+ C.List_SourceReport = H.setRuntimeTypeInfo(makeConstList(["SourceReport"]), type$.JSArray_legacy_String);
+ C.List_Stack = H.setRuntimeTypeInfo(makeConstList(["Stack"]), type$.JSArray_legacy_String);
+ C.List_Success = H.setRuntimeTypeInfo(makeConstList(["Success"]), type$.JSArray_legacy_String);
+ C.List_Success_Error = H.setRuntimeTypeInfo(makeConstList(["Success", "Error"]), type$.JSArray_legacy_String);
+ C.List_Timeline = H.setRuntimeTypeInfo(makeConstList(["Timeline"]), type$.JSArray_legacy_String);
+ C.List_TimelineEvent = H.setRuntimeTypeInfo(makeConstList(["TimelineEvent"]), type$.JSArray_legacy_String);
+ C.List_TimelineFlags = H.setRuntimeTypeInfo(makeConstList(["TimelineFlags"]), type$.JSArray_legacy_String);
+ C.List_Timestamp = H.setRuntimeTypeInfo(makeConstList(["Timestamp"]), type$.JSArray_legacy_String);
+ C.List_TypeArgumentsRef = H.setRuntimeTypeInfo(makeConstList(["TypeArgumentsRef"]), type$.JSArray_legacy_String);
+ C.List_VM = H.setRuntimeTypeInfo(makeConstList(["VM"]), type$.JSArray_legacy_String);
+ C.List_VMRef = H.setRuntimeTypeInfo(makeConstList(["VMRef"]), type$.JSArray_legacy_String);
+ C.List_Version = H.setRuntimeTypeInfo(makeConstList(["Version"]), type$.JSArray_legacy_String);
+ C.List_dynamic = H.setRuntimeTypeInfo(makeConstList(["dynamic"]), type$.JSArray_legacy_String);
+ C.List_empty = H.setRuntimeTypeInfo(makeConstList([]), type$.JSArray_dynamic);
+ C.List_oqh = H.setRuntimeTypeInfo(makeConstList(["SourceLocation", "UnresolvedSourceLocation"]), type$.JSArray_legacy_String);
+ C.Map_empty = new H.ConstantStringMap(0, {}, C.List_empty, H.findType("ConstantStringMap<@,@>"));
+ C.List_empty0 = H.setRuntimeTypeInfo(makeConstList([]), H.findType("JSArray<Symbol0*>"));
+ C.Map_empty0 = new H.ConstantStringMap(0, {}, C.List_empty0, H.findType("ConstantStringMap<Symbol0*,@>"));
+ C.Symbol_call = new H.Symbol("call");
+ C.Type_ByteBuffer_RkP = H.typeLiteral("ByteBuffer");
+ C.Type_ByteData_zNC = H.typeLiteral("ByteData");
+ C.Type_Float32List_LB7 = H.typeLiteral("Float32List");
+ C.Type_Float64List_LB7 = H.typeLiteral("Float64List");
+ C.Type_Int16List_uXf = H.typeLiteral("Int16List");
+ C.Type_Int32List_O50 = H.typeLiteral("Int32List");
+ C.Type_Int8List_ekJ = H.typeLiteral("Int8List");
+ C.Type_JSObject_8k0 = H.typeLiteral("JSObject");
+ C.Type_Null_Yyn = H.typeLiteral("Null");
+ C.Type_String_k8F = H.typeLiteral("String");
+ C.Type_Uint16List_2bx = H.typeLiteral("Uint16List");
+ C.Type_Uint32List_2bx = H.typeLiteral("Uint32List");
+ C.Type_Uint8ClampedList_Jik = H.typeLiteral("Uint8ClampedList");
+ C.Type_Uint8List_WLA = H.typeLiteral("Uint8List");
+ C.Type_bool_lhE = H.typeLiteral("bool");
+ C.Type_double_K1J = H.typeLiteral("double");
+ C.Type_int_tHn = H.typeLiteral("int");
+ C.Type_num_cv7 = H.typeLiteral("num");
+ C.Utf8Decoder_false = new P.Utf8Decoder(false);
+ })();
+ (function staticFields() {
+ $._JS_INTEROP_INTERCEPTOR_TAG = null;
+ $.Closure_functionCounter = 0;
+ $.BoundClosure_selfFieldNameCache = null;
+ $.BoundClosure_receiverFieldNameCache = null;
+ $.getTagFunction = null;
+ $.alternateTagFunction = null;
+ $.prototypeForTagFunction = null;
+ $.dispatchRecordsForInstanceTags = null;
+ $.interceptorsForUncacheableTags = null;
+ $.initNativeDispatchFlag = null;
+ $._nextCallback = null;
+ $._lastCallback = null;
+ $._lastPriorityCallback = null;
+ $._isInCallbackLoop = false;
+ $.Zone__current = C.C__RootZone;
+ $._toStringVisiting = H.setRuntimeTypeInfo([], H.findType("JSArray<Object>"));
+ $.LogRecord__nextNumber = 0;
+ $.Logger__loggers = P.LinkedHashMap_LinkedHashMap$_empty(type$.legacy_String, type$.legacy_Logger);
+ $._typeFactories = P.LinkedHashMap_LinkedHashMap$_literal(["AllocationProfile", Q.vm_service_AllocationProfile_parse$closure(), "BoundField", Q.vm_service_BoundField_parse$closure(), "BoundVariable", Q.vm_service_BoundVariable_parse$closure(), "Breakpoint", Q.vm_service_Breakpoint_parse$closure(), "@Class", Q.vm_service_ClassRef_parse$closure(), "Class", Q.vm_service_Class_parse$closure(), "ClassHeapStats", Q.vm_service_ClassHeapStats_parse$closure(), "ClassList", Q.vm_service_ClassList_parse$closure(), "ClientName", Q.vm_service_ClientName_parse$closure(), "@Code", Q.vm_service_CodeRef_parse$closure(), "Code", Q.vm_service_Code_parse$closure(), "@Context", Q.vm_service_ContextRef_parse$closure(), "Context", Q.vm_service_Context_parse$closure(), "ContextElement", Q.vm_service_ContextElement_parse$closure(), "CpuSamples", Q.vm_service_CpuSamples_parse$closure(), "CpuSample", Q.vm_service_CpuSample_parse$closure(), "@Error", Q.vm_service_ErrorRef_parse$closure(), "Error", Q.vm_service_Error_parse$closure(), "Event", Q.vm_service_Event_parse$closure(), "ExtensionData", Q.vm_service_ExtensionData_parse$closure(), "@Field", Q.vm_service_FieldRef_parse$closure(), "Field", Q.vm_service_Field_parse$closure(), "Flag", Q.vm_service_Flag_parse$closure(), "FlagList", Q.vm_service_FlagList_parse$closure(), "Frame", Q.vm_service_Frame_parse$closure(), "@Function", Q.vm_service_FuncRef_parse$closure(), "Function", Q.vm_service_Func_parse$closure(), "@Instance", Q.vm_service_InstanceRef_parse$closure(), "Instance", Q.vm_service_Instance_parse$closure(), "@Isolate", Q.vm_service_IsolateRef_parse$closure(), "Isolate", Q.vm_service_Isolate_parse$closure(), "@IsolateGroup", Q.vm_service_IsolateGroupRef_parse$closure(), "IsolateGroup", Q.vm_service_IsolateGroup_parse$closure(), "InboundReferences", Q.vm_service_InboundReferences_parse$closure(), "InboundReference", Q.vm_service_InboundReference_parse$closure(), "InstanceSet", Q.vm_service_InstanceSet_parse$closure(), "@Library", Q.vm_service_LibraryRef_parse$closure(), "Library", Q.vm_service_Library_parse$closure(), "LibraryDependency", Q.vm_service_LibraryDependency_parse$closure(), "LogRecord", Q.vm_service_LogRecord_parse$closure(), "MapAssociation", Q.vm_service_MapAssociation_parse$closure(), "MemoryUsage", Q.vm_service_MemoryUsage_parse$closure(), "Message", Q.vm_service_Message_parse$closure(), "NativeFunction", Q.vm_service_NativeFunction_parse$closure(), "@Null", Q.vm_service_NullValRef_parse$closure(), "Null", Q.vm_service_NullVal_parse$closure(), "@Object", Q.vm_service_ObjRef_parse$closure(), "Object", Q.vm_service_Obj_parse$closure(), "ProfileFunction", Q.vm_service_ProfileFunction_parse$closure(), "ReloadReport", Q.vm_service_ReloadReport_parse$closure(), "RetainingObject", Q.vm_service_RetainingObject_parse$closure(), "RetainingPath", Q.vm_service_RetainingPath_parse$closure(), "Response", Q.vm_service_Response_parse$closure(), "Sentinel", Q.vm_service_Sentinel_parse$closure(), "@Script", Q.vm_service_ScriptRef_parse$closure(), "Script", Q.vm_service_Script_parse$closure(), "ScriptList", Q.vm_service_ScriptList_parse$closure(), "SourceLocation", Q.vm_service_SourceLocation_parse$closure(), "SourceReport", Q.vm_service_SourceReport_parse$closure(), "SourceReportCoverage", Q.vm_service_SourceReportCoverage_parse$closure(), "SourceReportRange", Q.vm_service_SourceReportRange_parse$closure(), "Stack", Q.vm_service_Stack_parse$closure(), "Success", Q.vm_service_Success_parse$closure(), "Timeline", Q.vm_service_Timeline_parse$closure(), "TimelineEvent", Q.vm_service_TimelineEvent_parse$closure(), "TimelineFlags", Q.vm_service_TimelineFlags_parse$closure(), "Timestamp", Q.vm_service_Timestamp_parse$closure(), "@TypeArguments", Q.vm_service_TypeArgumentsRef_parse$closure(), "TypeArguments", Q.vm_service_TypeArguments_parse$closure(), "UnresolvedSourceLocation", Q.vm_service_UnresolvedSourceLocation_parse$closure(), "Version", Q.vm_service_Version_parse$closure(), "@VM", Q.vm_service_VMRef_parse$closure(), "VM", Q.vm_service_VM_parse$closure()], type$.legacy_String, H.findType("Function*"));
+ $._methodReturnTypes = P.LinkedHashMap_LinkedHashMap$_literal(["addBreakpoint", C.List_Breakpoint, "addBreakpointWithScriptUri", C.List_Breakpoint, "addBreakpointAtEntry", C.List_Breakpoint, "clearCpuSamples", C.List_Success, "clearVMTimeline", C.List_Success, "invoke", C.List_InstanceRef_ErrorRef, "evaluate", C.List_InstanceRef_ErrorRef, "evaluateInFrame", C.List_InstanceRef_ErrorRef, "getAllocationProfile", C.List_AllocationProfile, "getClassList", C.List_ClassList, "getClientName", C.List_ClientName, "getCpuSamples", C.List_CpuSamples, "getFlagList", C.List_FlagList, "getInboundReferences", C.List_InboundReferences, "getInstances", C.List_InstanceSet, "getIsolate", C.List_Isolate, "getIsolateGroup", C.List_IsolateGroup, "getMemoryUsage", C.List_MemoryUsage, "getIsolateGroupMemoryUsage", C.List_MemoryUsage, "getScripts", C.List_ScriptList, "getObject", C.List_Obj, "getRetainingPath", C.List_RetainingPath, "getStack", C.List_Stack, "getSourceReport", C.List_SourceReport, "getVersion", C.List_Version, "getVM", C.List_VM, "getVMTimeline", C.List_Timeline, "getVMTimelineFlags", C.List_TimelineFlags, "getVMTimelineMicros", C.List_Timestamp, "pause", C.List_Success, "kill", C.List_Success, "registerService", C.List_Success, "reloadSources", C.List_ReloadReport, "removeBreakpoint", C.List_Success, "requestHeapSnapshot", C.List_Success, "requirePermissionToResume", C.List_Success, "resume", C.List_Success, "setClientName", C.List_Success, "setExceptionPauseMode", C.List_Success, "setFlag", C.List_Success_Error, "setLibraryDebuggable", C.List_Success, "setName", C.List_Success, "setVMName", C.List_Success, "setVMTimelineFlags", C.List_Success, "streamCancel", C.List_Success, "streamListen", C.List_Success], type$.legacy_String, type$.legacy_List_legacy_String);
+ })();
+ (function lazyInitializers() {
+ var _lazy = hunkHelpers.lazy;
+ _lazy($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", function() {
+ return H.getIsolateAffinityTag("_$dart_dartClosure");
+ });
+ _lazy($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({
+ toString: function() {
+ return "$receiver$";
+ }
+ }));
+ });
+ _lazy($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({$method$: null,
+ toString: function() {
+ return "$receiver$";
+ }
+ }));
+ });
+ _lazy($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(null));
+ });
+ _lazy($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(function() {
+ var $argumentsExpr$ = '$arguments$';
+ try {
+ null.$method$($argumentsExpr$);
+ } catch (e) {
+ return e.message;
+ }
+ }());
+ });
+ _lazy($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(void 0));
+ });
+ _lazy($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(function() {
+ var $argumentsExpr$ = '$arguments$';
+ try {
+ (void 0).$method$($argumentsExpr$);
+ } catch (e) {
+ return e.message;
+ }
+ }());
+ });
+ _lazy($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(null));
+ });
+ _lazy($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(function() {
+ try {
+ null.$method$;
+ } catch (e) {
+ return e.message;
+ }
+ }());
+ });
+ _lazy($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(void 0));
+ });
+ _lazy($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(function() {
+ try {
+ (void 0).$method$;
+ } catch (e) {
+ return e.message;
+ }
+ }());
+ });
+ _lazy($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", function() {
+ return P._AsyncRun__initializeScheduleImmediate();
+ });
+ _lazy($, "Future__nullFuture", "$get$Future__nullFuture", function() {
+ return P._Future$zoneValue(null, C.C__RootZone, type$.Null);
+ });
+ _lazy($, "Future__falseFuture", "$get$Future__falseFuture", function() {
+ return P._Future$zoneValue(false, C.C__RootZone, type$.bool);
+ });
+ _lazy($, "Utf8Decoder__decoder", "$get$Utf8Decoder__decoder", function() {
+ return new P.Utf8Decoder_closure().call$0();
+ });
+ _lazy($, "Utf8Decoder__decoderNonfatal", "$get$Utf8Decoder__decoderNonfatal", function() {
+ return new P.Utf8Decoder_closure0().call$0();
+ });
+ _lazy($, "_hasErrorStackProperty", "$get$_hasErrorStackProperty", function() {
+ return new Error().stack != void 0;
+ });
+ _lazy($, "Logger_root", "$get$Logger_root", function() {
+ return F.Logger_Logger("");
+ });
+ })();
+ (function nativeSupport() {
+ !function() {
+ var intern = function(s) {
+ var o = {};
+ o[s] = 1;
+ return Object.keys(hunkHelpers.convertToFastObject(o))[0];
+ };
+ init.getIsolateTag = function(name) {
+ return intern("___dart_" + name + init.isolateTag);
+ };
+ var tableProperty = "___dart_isolate_tags_";
+ var usedProperties = Object[tableProperty] || (Object[tableProperty] = Object.create(null));
+ var rootProperty = "_ZxYxX";
+ for (var i = 0;; i++) {
+ var property = intern(rootProperty + "_" + i + "_");
+ if (!(property in usedProperties)) {
+ usedProperties[property] = 1;
+ init.isolateTag = property;
+ break;
+ }
+ }
+ init.dispatchPropertyName = init.getIsolateTag("dispatch_record");
+ }();
+ hunkHelpers.setOrUpdateInterceptorsByTag({Blob: J.Interceptor, DOMError: J.Interceptor, File: J.Interceptor, MediaError: J.Interceptor, NavigatorUserMediaError: J.Interceptor, OverconstrainedError: J.Interceptor, PositionError: J.Interceptor, SQLError: J.Interceptor, ArrayBuffer: H.NativeByteBuffer, ArrayBufferView: H.NativeTypedData, DataView: H.NativeByteData, Float32Array: H.NativeFloat32List, Float64Array: H.NativeFloat64List, Int16Array: H.NativeInt16List, Int32Array: H.NativeInt32List, Int8Array: H.NativeInt8List, Uint16Array: H.NativeUint16List, Uint32Array: H.NativeUint32List, Uint8ClampedArray: H.NativeUint8ClampedList, CanvasPixelArray: H.NativeUint8ClampedList, Uint8Array: H.NativeUint8List, DOMException: W.DomException, AbortPaymentEvent: W.Event0, AnimationEvent: W.Event0, AnimationPlaybackEvent: W.Event0, ApplicationCacheErrorEvent: W.Event0, BackgroundFetchClickEvent: W.Event0, BackgroundFetchEvent: W.Event0, BackgroundFetchFailEvent: W.Event0, BackgroundFetchedEvent: W.Event0, BeforeInstallPromptEvent: W.Event0, BeforeUnloadEvent: W.Event0, BlobEvent: W.Event0, CanMakePaymentEvent: W.Event0, ClipboardEvent: W.Event0, CloseEvent: W.Event0, CompositionEvent: W.Event0, CustomEvent: W.Event0, DeviceMotionEvent: W.Event0, DeviceOrientationEvent: W.Event0, ErrorEvent: W.Event0, ExtendableEvent: W.Event0, ExtendableMessageEvent: W.Event0, FetchEvent: W.Event0, FocusEvent: W.Event0, FontFaceSetLoadEvent: W.Event0, ForeignFetchEvent: W.Event0, GamepadEvent: W.Event0, HashChangeEvent: W.Event0, InstallEvent: W.Event0, KeyboardEvent: W.Event0, MediaEncryptedEvent: W.Event0, MediaKeyMessageEvent: W.Event0, MediaQueryListEvent: W.Event0, MediaStreamEvent: W.Event0, MediaStreamTrackEvent: W.Event0, MIDIConnectionEvent: W.Event0, MIDIMessageEvent: W.Event0, MouseEvent: W.Event0, DragEvent: W.Event0, MutationEvent: W.Event0, NotificationEvent: W.Event0, PageTransitionEvent: W.Event0, PaymentRequestEvent: W.Event0, PaymentRequestUpdateEvent: W.Event0, PointerEvent: W.Event0, PopStateEvent: W.Event0, PresentationConnectionAvailableEvent: W.Event0, PresentationConnectionCloseEvent: W.Event0, PromiseRejectionEvent: W.Event0, PushEvent: W.Event0, RTCDataChannelEvent: W.Event0, RTCDTMFToneChangeEvent: W.Event0, RTCPeerConnectionIceEvent: W.Event0, RTCTrackEvent: W.Event0, SecurityPolicyViolationEvent: W.Event0, SensorErrorEvent: W.Event0, SpeechRecognitionError: W.Event0, SpeechRecognitionEvent: W.Event0, SpeechSynthesisEvent: W.Event0, StorageEvent: W.Event0, SyncEvent: W.Event0, TextEvent: W.Event0, TouchEvent: W.Event0, TrackEvent: W.Event0, TransitionEvent: W.Event0, WebKitTransitionEvent: W.Event0, UIEvent: W.Event0, VRDeviceEvent: W.Event0, VRDisplayEvent: W.Event0, VRSessionEvent: W.Event0, WheelEvent: W.Event0, MojoInterfaceRequestEvent: W.Event0, USBConnectionEvent: W.Event0, IDBVersionChangeEvent: W.Event0, AudioProcessingEvent: W.Event0, OfflineAudioCompletionEvent: W.Event0, WebGLContextEvent: W.Event0, Event: W.Event0, InputEvent: W.Event0, SubmitEvent: W.Event0, EventSource: W.EventSource, MessagePort: W.EventTarget, EventTarget: W.EventTarget, XMLHttpRequest: W.HttpRequest, XMLHttpRequestEventTarget: W.HttpRequestEventTarget, MessageEvent: W.MessageEvent, ProgressEvent: W.ProgressEvent, ResourceProgressEvent: W.ProgressEvent});
+ hunkHelpers.setOrUpdateLeafTags({Blob: true, DOMError: true, File: true, MediaError: true, NavigatorUserMediaError: true, OverconstrainedError: true, PositionError: true, SQLError: true, ArrayBuffer: true, ArrayBufferView: false, DataView: true, Float32Array: true, Float64Array: true, Int16Array: true, Int32Array: true, Int8Array: true, Uint16Array: true, Uint32Array: true, Uint8ClampedArray: true, CanvasPixelArray: true, Uint8Array: false, DOMException: true, AbortPaymentEvent: true, AnimationEvent: true, AnimationPlaybackEvent: true, ApplicationCacheErrorEvent: true, BackgroundFetchClickEvent: true, BackgroundFetchEvent: true, BackgroundFetchFailEvent: true, BackgroundFetchedEvent: true, BeforeInstallPromptEvent: true, BeforeUnloadEvent: true, BlobEvent: true, CanMakePaymentEvent: true, ClipboardEvent: true, CloseEvent: true, CompositionEvent: true, CustomEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ErrorEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FocusEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, KeyboardEvent: true, MediaEncryptedEvent: true, MediaKeyMessageEvent: true, MediaQueryListEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MouseEvent: true, DragEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PointerEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, PromiseRejectionEvent: true, PushEvent: true, RTCDataChannelEvent: true, RTCDTMFToneChangeEvent: true, RTCPeerConnectionIceEvent: true, RTCTrackEvent: true, SecurityPolicyViolationEvent: true, SensorErrorEvent: true, SpeechRecognitionError: true, SpeechRecognitionEvent: true, SpeechSynthesisEvent: true, StorageEvent: true, SyncEvent: true, TextEvent: true, TouchEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, UIEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, WheelEvent: true, MojoInterfaceRequestEvent: true, USBConnectionEvent: true, IDBVersionChangeEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, Event: false, InputEvent: false, SubmitEvent: false, EventSource: true, MessagePort: true, EventTarget: false, XMLHttpRequest: true, XMLHttpRequestEventTarget: false, MessageEvent: true, ProgressEvent: true, ResourceProgressEvent: true});
+ H.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView";
+ H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
+ H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
+ H.NativeTypedArrayOfDouble.$nativeSuperclassTag = "ArrayBufferView";
+ H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
+ H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
+ H.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView";
+ })();
+ convertAllToFastObject(holders);
+ convertToFastObject($);
+ (function(callback) {
+ if (typeof document === "undefined") {
+ callback(null);
+ return;
+ }
+ if (typeof document.currentScript != 'undefined') {
+ callback(document.currentScript);
+ return;
+ }
+ var scripts = document.scripts;
+ function onLoad(event) {
+ for (var i = 0; i < scripts.length; ++i)
+ scripts[i].removeEventListener("load", onLoad, false);
+ callback(event.target);
+ }
+ for (var i = 0; i < scripts.length; ++i)
+ scripts[i].addEventListener("load", onLoad, false);
+ })(function(currentScript) {
+ init.currentScript = currentScript;
+ if (typeof dartMainRunner === "function")
+ dartMainRunner(E.main, []);
+ else
+ E.main([]);
+ });
+})();
+
+//# sourceMappingURL=sse_smoke_driver.dart.js.map
diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json
index d795d61..f6e7271 100644
--- a/tools/bots/test_matrix.json
+++ b/tools/bots/test_matrix.json
@@ -313,6 +313,7 @@
"third_party/android_tools/sdk/platform-tools/adb",
"third_party/android_tools/ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip",
"third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip",
+ "third_party/webdriver/",
"third_party/pkg/",
"third_party/pkg_tested/",
"tests/.dart_tool/package_config.json",