diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md index ce0745325..03fb4191e 100644 --- a/dwds/CHANGELOG.md +++ b/dwds/CHANGELOG.md @@ -1,5 +1,8 @@ ## 24.3.11-wip +- Added WebSocket-based hot reload support: `reloadSources` in `ChromeProxyService` and `DevHandler` now handle hot reload requests and responses over WebSockets. +- Refactored the injected client to use a reusable function for handling hot reload requests and responses over WebSockets. + ## 24.3.10 - Disabled breakpoints on changed files in a hot reload. They currently do not diff --git a/dwds/lib/data/hot_reload_request.dart b/dwds/lib/data/hot_reload_request.dart new file mode 100644 index 000000000..3e8063daf --- /dev/null +++ b/dwds/lib/data/hot_reload_request.dart @@ -0,0 +1,24 @@ +// Copyright (c) 2025, 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. + +library hot_reload_request; + +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; + +part 'hot_reload_request.g.dart'; + +/// A request to hot reload the application. +abstract class HotReloadRequest + implements Built { + static Serializer get serializer => + _$hotReloadRequestSerializer; + + /// A unique identifier for this request. + String get id; + + HotReloadRequest._(); + factory HotReloadRequest([void Function(HotReloadRequestBuilder) updates]) = + _$HotReloadRequest; +} diff --git a/dwds/lib/data/hot_reload_request.g.dart b/dwds/lib/data/hot_reload_request.g.dart new file mode 100644 index 000000000..d45012443 --- /dev/null +++ b/dwds/lib/data/hot_reload_request.g.dart @@ -0,0 +1,151 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'hot_reload_request.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializer _$hotReloadRequestSerializer = + new _$HotReloadRequestSerializer(); + +class _$HotReloadRequestSerializer + implements StructuredSerializer { + @override + final Iterable types = const [HotReloadRequest, _$HotReloadRequest]; + @override + final String wireName = 'HotReloadRequest'; + + @override + Iterable serialize( + Serializers serializers, + HotReloadRequest object, { + FullType specifiedType = FullType.unspecified, + }) { + final result = [ + 'id', + serializers.serialize(object.id, specifiedType: const FullType(String)), + ]; + + return result; + } + + @override + HotReloadRequest deserialize( + Serializers serializers, + Iterable serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = new HotReloadRequestBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'id': + result.id = + serializers.deserialize( + value, + specifiedType: const FullType(String), + )! + as String; + break; + } + } + + return result.build(); + } +} + +class _$HotReloadRequest extends HotReloadRequest { + @override + final String id; + + factory _$HotReloadRequest([ + void Function(HotReloadRequestBuilder)? updates, + ]) => (new HotReloadRequestBuilder()..update(updates))._build(); + + _$HotReloadRequest._({required this.id}) : super._() { + BuiltValueNullFieldError.checkNotNull(id, r'HotReloadRequest', 'id'); + } + + @override + HotReloadRequest rebuild(void Function(HotReloadRequestBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + HotReloadRequestBuilder toBuilder() => + new HotReloadRequestBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is HotReloadRequest && id == other.id; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, id.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'HotReloadRequest') + ..add('id', id)).toString(); + } +} + +class HotReloadRequestBuilder + implements Builder { + _$HotReloadRequest? _$v; + + String? _id; + String? get id => _$this._id; + set id(String? id) => _$this._id = id; + + HotReloadRequestBuilder(); + + HotReloadRequestBuilder get _$this { + final $v = _$v; + if ($v != null) { + _id = $v.id; + _$v = null; + } + return this; + } + + @override + void replace(HotReloadRequest other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$HotReloadRequest; + } + + @override + void update(void Function(HotReloadRequestBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + HotReloadRequest build() => _build(); + + _$HotReloadRequest _build() { + final _$result = + _$v ?? + new _$HotReloadRequest._( + id: BuiltValueNullFieldError.checkNotNull( + id, + r'HotReloadRequest', + 'id', + ), + ); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/dwds/lib/data/hot_reload_response.dart b/dwds/lib/data/hot_reload_response.dart new file mode 100644 index 000000000..2f6a96a3b --- /dev/null +++ b/dwds/lib/data/hot_reload_response.dart @@ -0,0 +1,31 @@ +// Copyright (c) 2025, 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. + +library hot_reload_response; + +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; + +part 'hot_reload_response.g.dart'; + +/// A response to a hot reload request. +abstract class HotReloadResponse + implements Built { + static Serializer get serializer => + _$hotReloadResponseSerializer; + + /// The unique identifier matching the request. + String get id; + + /// Whether the hot reload succeeded on the client. + bool get success; + + /// An optional error message if success is false. + @BuiltValueField(wireName: 'error') + String? get errorMessage; + + HotReloadResponse._(); + factory HotReloadResponse([void Function(HotReloadResponseBuilder) updates]) = + _$HotReloadResponse; +} diff --git a/dwds/lib/data/hot_reload_response.g.dart b/dwds/lib/data/hot_reload_response.g.dart new file mode 100644 index 000000000..94da6edf5 --- /dev/null +++ b/dwds/lib/data/hot_reload_response.g.dart @@ -0,0 +1,217 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'hot_reload_response.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializer _$hotReloadResponseSerializer = + new _$HotReloadResponseSerializer(); + +class _$HotReloadResponseSerializer + implements StructuredSerializer { + @override + final Iterable types = const [HotReloadResponse, _$HotReloadResponse]; + @override + final String wireName = 'HotReloadResponse'; + + @override + Iterable serialize( + Serializers serializers, + HotReloadResponse object, { + FullType specifiedType = FullType.unspecified, + }) { + final result = [ + 'id', + serializers.serialize(object.id, specifiedType: const FullType(String)), + 'success', + serializers.serialize( + object.success, + specifiedType: const FullType(bool), + ), + ]; + Object? value; + value = object.errorMessage; + if (value != null) { + result + ..add('error') + ..add( + serializers.serialize(value, specifiedType: const FullType(String)), + ); + } + return result; + } + + @override + HotReloadResponse deserialize( + Serializers serializers, + Iterable serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = new HotReloadResponseBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'id': + result.id = + serializers.deserialize( + value, + specifiedType: const FullType(String), + )! + as String; + break; + case 'success': + result.success = + serializers.deserialize( + value, + specifiedType: const FullType(bool), + )! + as bool; + break; + case 'error': + result.errorMessage = + serializers.deserialize( + value, + specifiedType: const FullType(String), + ) + as String?; + break; + } + } + + return result.build(); + } +} + +class _$HotReloadResponse extends HotReloadResponse { + @override + final String id; + @override + final bool success; + @override + final String? errorMessage; + + factory _$HotReloadResponse([ + void Function(HotReloadResponseBuilder)? updates, + ]) => (new HotReloadResponseBuilder()..update(updates))._build(); + + _$HotReloadResponse._({ + required this.id, + required this.success, + this.errorMessage, + }) : super._() { + BuiltValueNullFieldError.checkNotNull(id, r'HotReloadResponse', 'id'); + BuiltValueNullFieldError.checkNotNull( + success, + r'HotReloadResponse', + 'success', + ); + } + + @override + HotReloadResponse rebuild(void Function(HotReloadResponseBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + HotReloadResponseBuilder toBuilder() => + new HotReloadResponseBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is HotReloadResponse && + id == other.id && + success == other.success && + errorMessage == other.errorMessage; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, id.hashCode); + _$hash = $jc(_$hash, success.hashCode); + _$hash = $jc(_$hash, errorMessage.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'HotReloadResponse') + ..add('id', id) + ..add('success', success) + ..add('errorMessage', errorMessage)) + .toString(); + } +} + +class HotReloadResponseBuilder + implements Builder { + _$HotReloadResponse? _$v; + + String? _id; + String? get id => _$this._id; + set id(String? id) => _$this._id = id; + + bool? _success; + bool? get success => _$this._success; + set success(bool? success) => _$this._success = success; + + String? _errorMessage; + String? get errorMessage => _$this._errorMessage; + set errorMessage(String? errorMessage) => _$this._errorMessage = errorMessage; + + HotReloadResponseBuilder(); + + HotReloadResponseBuilder get _$this { + final $v = _$v; + if ($v != null) { + _id = $v.id; + _success = $v.success; + _errorMessage = $v.errorMessage; + _$v = null; + } + return this; + } + + @override + void replace(HotReloadResponse other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$HotReloadResponse; + } + + @override + void update(void Function(HotReloadResponseBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + HotReloadResponse build() => _build(); + + _$HotReloadResponse _build() { + final _$result = + _$v ?? + new _$HotReloadResponse._( + id: BuiltValueNullFieldError.checkNotNull( + id, + r'HotReloadResponse', + 'id', + ), + success: BuiltValueNullFieldError.checkNotNull( + success, + r'HotReloadResponse', + 'success', + ), + errorMessage: errorMessage, + ); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/dwds/lib/data/serializers.dart b/dwds/lib/data/serializers.dart index 25f4e2af2..11755912f 100644 --- a/dwds/lib/data/serializers.dart +++ b/dwds/lib/data/serializers.dart @@ -12,6 +12,8 @@ import 'debug_info.dart'; import 'devtools_request.dart'; import 'error_response.dart'; import 'extension_request.dart'; +import 'hot_reload_request.dart'; +import 'hot_reload_response.dart'; import 'isolate_events.dart'; import 'register_event.dart'; import 'run_request.dart'; @@ -28,6 +30,8 @@ part 'serializers.g.dart'; DebugInfo, DevToolsRequest, DevToolsResponse, + HotReloadRequest, + HotReloadResponse, IsolateExit, IsolateStart, ExtensionRequest, diff --git a/dwds/lib/data/serializers.g.dart b/dwds/lib/data/serializers.g.dart index 985acd6f1..3f229a323 100644 --- a/dwds/lib/data/serializers.g.dart +++ b/dwds/lib/data/serializers.g.dart @@ -21,6 +21,8 @@ Serializers _$serializers = ..add(ExtensionEvent.serializer) ..add(ExtensionRequest.serializer) ..add(ExtensionResponse.serializer) + ..add(HotReloadRequest.serializer) + ..add(HotReloadResponse.serializer) ..add(IsolateExit.serializer) ..add(IsolateStart.serializer) ..add(RegisterEvent.serializer) diff --git a/dwds/lib/src/handlers/dev_handler.dart b/dwds/lib/src/handlers/dev_handler.dart index 5a0800b2f..0f1f6d435 100644 --- a/dwds/lib/src/handlers/dev_handler.dart +++ b/dwds/lib/src/handlers/dev_handler.dart @@ -11,6 +11,7 @@ import 'package:dwds/data/connect_request.dart'; import 'package:dwds/data/debug_event.dart'; import 'package:dwds/data/devtools_request.dart'; import 'package:dwds/data/error_response.dart'; +import 'package:dwds/data/hot_reload_response.dart'; import 'package:dwds/data/isolate_events.dart'; import 'package:dwds/data/register_event.dart'; import 'package:dwds/data/serializers.dart'; @@ -131,6 +132,24 @@ class DevHandler { } } + /// Sends the provided [request] to all connected injected clients. + void _sendRequestToClients(Object request) { + _logger.finest('Sending request to injected clients: $request'); + for (final injectedConnection in _injectedConnections) { + try { + injectedConnection.sink.add(jsonEncode(serializers.serialize(request))); + } on StateError catch (e) { + // The sink has already closed (app is disconnected), or another StateError occurred. + _logger.warning( + 'Failed to send request to client, connection likely closed. Error: $e', + ); + } catch (e, s) { + // Catch any other potential errors during sending. + _logger.severe('Error sending request to client: $e', e, s); + } + } + } + /// Starts a [DebugService] for local debugging. Future _startLocalDebugService( ChromeConnection chromeConnection, @@ -220,6 +239,7 @@ class DevHandler { expressionCompiler: _expressionCompiler, spawnDds: _spawnDds, ddsPort: _ddsPort, + sendClientRequest: _sendRequestToClients, ); } @@ -282,6 +302,10 @@ class DevHandler { } if (message is DevToolsRequest) { await _handleDebugRequest(connection, injectedConnection); + } else if (message is HotReloadResponse) { + // The app reload operation has completed. Mark the completer as done. + _servicesByAppId[connection.request.appId]?.chromeProxyService + .completeHotReload(message); } else if (message is IsolateExit) { _handleIsolateExit(connection); } else if (message is IsolateStart) { @@ -671,6 +695,7 @@ class DevHandler { expressionCompiler: _expressionCompiler, spawnDds: _spawnDds, ddsPort: _ddsPort, + sendClientRequest: _sendRequestToClients, ); appServices = await _createAppDebugServices(debugService); extensionDebugger.sendEvent('dwds.debugUri', debugService.uri); diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js index 6af20e7b3..38f40a902 100644 --- a/dwds/lib/src/injected/client.js +++ b/dwds/lib/src/injected/client.js @@ -1,4 +1,4 @@ -// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.8.0-110.0.dev. +// Generated by dart2js (, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.9.0-edge. // The code supports the following hooks: // dartPrint(message): // if this function is defined it is called instead of the Dart [print] @@ -386,6 +386,22 @@ return J.UnknownJavaScriptObject.prototype; return receiver; }, + getInterceptor$x(receiver) { + if (receiver == null) + return receiver; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + if (typeof receiver == "symbol") + return J.JavaScriptSymbol.prototype; + if (typeof receiver == "bigint") + return J.JavaScriptBigInt.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, set$length$asx(receiver, value) { return J.getInterceptor$asx(receiver).set$length(receiver, value); }, @@ -436,6 +452,9 @@ allMatches$2$s(receiver, a0, a1) { return J.getInterceptor$s(receiver).allMatches$2(receiver, a0, a1); }, + asUint8List$2$x(receiver, a0, a1) { + return J.getInterceptor$x(receiver).asUint8List$2(receiver, a0, a1); + }, cast$1$0$ax(receiver, $T1) { return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1); }, @@ -1084,9 +1103,6 @@ return parseInt(source, radix); }, Primitives_objectTypeName(object) { - return A.Primitives__objectTypeNameNewRti(object); - }, - Primitives__objectTypeNameNewRti(object) { var interceptor, dispatchName, $constructor, constructorName; if (object instanceof A.Object) return A._rtiToString(A.instanceType(object), null); @@ -1549,7 +1565,7 @@ $prototype.$static_name = $name; trampoline = $function; } - $prototype.$signature = A.Closure__computeSignatureFunctionNewRti(t1, isStatic, isIntercepted); + $prototype.$signature = A.Closure__computeSignatureFunction(t1, isStatic, isIntercepted); $prototype[callName] = trampoline; for (applyTrampoline = trampoline, i = 1; i < funsOrNames.length; ++i) { stub = funsOrNames[i]; @@ -1573,7 +1589,7 @@ $prototype.$defaultValues = parameters.dV; return $constructor; }, - Closure__computeSignatureFunctionNewRti(functionType, isStatic, isIntercepted) { + Closure__computeSignatureFunction(functionType, isStatic, isIntercepted) { if (typeof functionType == "number") return functionType; if (typeof functionType == "string") { @@ -1726,22 +1742,11 @@ } throw A.wrapException(A.ArgumentError$("Field name " + fieldName + " not found.", null)); }, - boolConversionCheck(value) { - if (value == null) - A.assertThrow("boolean expression must not be null"); - return value; - }, - assertThrow(message) { - throw A.wrapException(new A._AssertionError(message)); - }, - throwCyclicInit(staticName) { - throw A.wrapException(new A._CyclicInitializationError(staticName)); - }, getIsolateAffinityTag($name) { return init.getIsolateTag($name); }, staticInteropGlobalContext() { - return self; + return init.G; }, defineProperty(obj, property, value) { Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true}); @@ -1895,19 +1900,18 @@ return $function.apply(null, fieldRtis); return $function(fieldRtis); }, - JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, unicode, dotAll, global) { + JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, unicode, dotAll, extraFlags) { var m = multiLine ? "m" : "", i = caseSensitive ? "" : "i", u = unicode ? "u" : "", s = dotAll ? "s" : "", - g = global ? "g" : "", regexp = function(source, modifiers) { try { return new RegExp(source, modifiers); } catch (e) { return e; } - }(source, m + i + u + s + g); + }(source, m + i + u + s + extraFlags); if (regexp instanceof RegExp) return regexp; throw A.wrapException(A.FormatException$("Illegal RegExp pattern (" + String(regexp) + ")", source, null)); @@ -2091,15 +2095,9 @@ this._receiver = t0; this._interceptor = t1; }, - _CyclicInitializationError: function _CyclicInitializationError(t0) { - this.variableName = t0; - }, RuntimeError: function RuntimeError(t0) { this.message = t0; }, - _AssertionError: function _AssertionError(t0) { - this.message = t0; - }, JsLinkedHashMap: function JsLinkedHashMap(t0) { var _ = this; _.__js_helper$_length = 0; @@ -2176,7 +2174,7 @@ var _ = this; _.pattern = t0; _._nativeRegExp = t1; - _._nativeAnchoredRegExp = _._nativeGlobalRegExp = null; + _._hasCapturesCache = _._nativeAnchoredRegExp = _._nativeGlobalRegExp = null; }, _MatchImplementation: function _MatchImplementation(t0) { this._match = t0; @@ -2226,6 +2224,9 @@ this._name = t0; this.__late_helper$_value = null; }, + _checkLength($length) { + return $length; + }, _ensureNativeList(list) { var t1, result, i; if (type$.JSIndexable_dynamic._is(list)) @@ -2268,6 +2269,9 @@ }, NativeTypedData: function NativeTypedData() { }, + _UnmodifiableNativeByteBufferView: function _UnmodifiableNativeByteBufferView(t0) { + this.__native_typed_data$_data = t0; + }, NativeByteData: function NativeByteData() { }, NativeTypedArray: function NativeTypedArray() { @@ -2302,19 +2306,15 @@ }, _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() { }, - Rti__getQuestionFromStar(universe, rti) { - var question = rti._precomputed1; - return question == null ? rti._precomputed1 = A._Universe__lookupQuestionRti(universe, rti._primary, true) : question; - }, Rti__getFutureFromFutureOr(universe, rti) { var future = rti._precomputed1; return future == null ? rti._precomputed1 = A._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]) : future; }, Rti__isUnionOfFunctionType(rti) { var kind = rti._kind; - if (kind === 6 || kind === 7 || kind === 8) + if (kind === 6 || kind === 7) return A.Rti__isUnionOfFunctionType(rti._primary); - return kind === 12 || kind === 13; + return kind === 11 || kind === 12; }, Rti__getCanonicalRecipe(rti) { return rti._canonicalRecipe; @@ -2349,30 +2349,24 @@ case 4: return rti; case 6: - baseType = rti._primary; - substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); - if (substitutedBaseType === baseType) - return rti; - return A._Universe__lookupStarRti(universe, substitutedBaseType, true); - case 7: baseType = rti._primary; substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); if (substitutedBaseType === baseType) return rti; return A._Universe__lookupQuestionRti(universe, substitutedBaseType, true); - case 8: + case 7: baseType = rti._primary; substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); if (substitutedBaseType === baseType) return rti; return A._Universe__lookupFutureOrRti(universe, substitutedBaseType, true); - case 9: + case 8: interfaceTypeArguments = rti._rest; substitutedInterfaceTypeArguments = A._substituteArray(universe, interfaceTypeArguments, typeArguments, depth); if (substitutedInterfaceTypeArguments === interfaceTypeArguments) return rti; return A._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments); - case 10: + case 9: base = rti._primary; substitutedBase = A._substitute(universe, base, typeArguments, depth); $arguments = rti._rest; @@ -2380,14 +2374,14 @@ if (substitutedBase === base && substitutedArguments === $arguments) return rti; return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments); - case 11: + case 10: t1 = rti._primary; fields = rti._rest; substitutedFields = A._substituteArray(universe, fields, typeArguments, depth); if (substitutedFields === fields) return rti; return A._Universe__lookupRecordRti(universe, t1, substitutedFields); - case 12: + case 11: returnType = rti._primary; substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth); functionParameters = rti._rest; @@ -2395,7 +2389,7 @@ if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters) return rti; return A._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters); - case 13: + case 12: bounds = rti._rest; depth += bounds.length; substitutedBounds = A._substituteArray(universe, bounds, typeArguments, depth); @@ -2404,7 +2398,7 @@ if (substitutedBounds === bounds && substitutedBase === base) return rti; return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true); - case 14: + case 13: index = rti._primary; if (index < depth) return rti; @@ -2549,17 +2543,7 @@ }, createRuntimeType(rti) { var t1 = rti._cachedRuntimeType; - return t1 == null ? rti._cachedRuntimeType = A._createRuntimeType(rti) : t1; - }, - _createRuntimeType(rti) { - var starErasedRti, t1, - s = rti._canonicalRecipe, - starErasedRecipe = s.replace(/\*/g, ""); - if (starErasedRecipe === s) - return rti._cachedRuntimeType = new A._Type(rti); - starErasedRti = A._Universe_eval(init.typeUniverse, starErasedRecipe, true); - t1 = starErasedRti._cachedRuntimeType; - return t1 == null ? starErasedRti._cachedRuntimeType = A._createRuntimeType(starErasedRti) : t1; + return t1 == null ? rti._cachedRuntimeType = new A._Type(rti) : t1; }, evaluateRtiForRecord(recordRecipe, valuesList) { var bindings, i, @@ -2581,44 +2565,38 @@ return A.createRuntimeType(A._Universe_eval(init.typeUniverse, recipe, false)); }, _installSpecializedIsTest(object) { - var t1, unstarred, unstarredKind, isFn, $name, predicate, testRti = this; + var kind, isFn, $name, predicate, testRti = this; if (testRti === type$.Object) return A._finishIsFn(testRti, object, A._isObject); - if (!A.isSoundTopType(testRti)) - t1 = testRti === type$.legacy_Object; - else - t1 = true; - if (t1) + if (A.isTopType(testRti)) return A._finishIsFn(testRti, object, A._isTop); - t1 = testRti._kind; - if (t1 === 7) + kind = testRti._kind; + if (kind === 6) return A._finishIsFn(testRti, object, A._generalNullableIsTestImplementation); - if (t1 === 1) + if (kind === 1) return A._finishIsFn(testRti, object, A._isNever); - unstarred = t1 === 6 ? testRti._primary : testRti; - unstarredKind = unstarred._kind; - if (unstarredKind === 8) + if (kind === 7) return A._finishIsFn(testRti, object, A._isFutureOr); - if (unstarred === type$.int) + if (testRti === type$.int) isFn = A._isInt; - else if (unstarred === type$.double || unstarred === type$.num) + else if (testRti === type$.double || testRti === type$.num) isFn = A._isNum; - else if (unstarred === type$.String) + else if (testRti === type$.String) isFn = A._isString; else - isFn = unstarred === type$.bool ? A._isBool : null; + isFn = testRti === type$.bool ? A._isBool : null; if (isFn != null) return A._finishIsFn(testRti, object, isFn); - if (unstarredKind === 9) { - $name = unstarred._primary; - if (unstarred._rest.every(A.isDefinitelyTopType)) { + if (kind === 8) { + $name = testRti._primary; + if (testRti._rest.every(A.isTopType)) { testRti._specializedTestResource = "$is" + $name; if ($name === "List") return A._finishIsFn(testRti, object, A._isListTestViaProperty); return A._finishIsFn(testRti, object, A._isTestViaProperty); } - } else if (unstarredKind === 11) { - predicate = A.createRecordTypePredicate(unstarred._primary, unstarred._rest); + } else if (kind === 10) { + predicate = A.createRecordTypePredicate(testRti._primary, testRti._rest); return A._finishIsFn(testRti, object, predicate == null ? A._isNever : predicate); } return A._finishIsFn(testRti, object, A._generalIsTestImplementation); @@ -2628,21 +2606,14 @@ return testRti._is(object); }, _installSpecializedAsCheck(object) { - var t1, testRti = this, + var testRti = this, asFn = A._generalAsCheckImplementation; - if (!A.isSoundTopType(testRti)) - t1 = testRti === type$.legacy_Object; - else - t1 = true; - if (t1) + if (A.isTopType(testRti)) asFn = A._asTop; else if (testRti === type$.Object) asFn = A._asObject; - else { - t1 = A.isNullable(testRti); - if (t1) - asFn = A._generalNullableAsCheckImplementation; - } + else if (A.isNullable(testRti)) + asFn = A._generalNullableAsCheckImplementation; if (testRti === type$.int) asFn = A._asInt; else if (testRti === type$.nullable_int) @@ -2666,21 +2637,10 @@ testRti._as = asFn; return testRti._as(object); }, - _nullIs(testRti) { - var kind = testRti._kind, - t1 = true; - if (!A.isSoundTopType(testRti)) - if (!(testRti === type$.legacy_Object)) - if (!(testRti === type$.legacy_Never)) - if (kind !== 7) - if (!(kind === 6 && A._nullIs(testRti._primary))) - t1 = kind === 8 && A._nullIs(testRti._primary) || testRti === type$.Null || testRti === type$.JSNull; - return t1; - }, _generalIsTestImplementation(object) { var testRti = this; if (object == null) - return A._nullIs(testRti); + return A.isNullable(testRti); return A.isSubtype(init.typeUniverse, A.instanceOrFunctionType(object, testRti), testRti); }, _generalNullableIsTestImplementation(object) { @@ -2691,7 +2651,7 @@ _isTestViaProperty(object) { var tag, testRti = this; if (object == null) - return A._nullIs(testRti); + return A.isNullable(testRti); tag = testRti._specializedTestResource; if (object instanceof A.Object) return !!object[tag]; @@ -2700,7 +2660,7 @@ _isListTestViaProperty(object) { var tag, testRti = this; if (object == null) - return A._nullIs(testRti); + return A.isNullable(testRti); if (typeof object != "object") return false; if (Array.isArray(object)) @@ -2721,9 +2681,7 @@ }, _generalNullableAsCheckImplementation(object) { var testRti = this; - if (object == null) - return object; - else if (testRti._is(object)) + if (object == null || testRti._is(object)) return object; throw A.initializeExceptionWrapper(A._errorForAsCheck(object, testRti), new Error()); }, @@ -2745,9 +2703,8 @@ return new A._TypeError("TypeError: " + A._Error_compose(object, type)); }, _isFutureOr(object) { - var testRti = this, - unstarred = testRti._kind === 6 ? testRti._primary : testRti; - return unstarred._primary._is(object) || A.Rti__getFutureFromFutureOr(init.typeUniverse, unstarred)._is(object); + var testRti = this; + return testRti._primary._is(object) || A.Rti__getFutureFromFutureOr(init.typeUniverse, testRti)._is(object); }, _isObject(object) { return object != null; @@ -2776,15 +2733,6 @@ return false; throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "bool"), new Error()); }, - _asBoolS(object) { - if (true === object) - return true; - if (false === object) - return false; - if (object == null) - return object; - throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "bool"), new Error()); - }, _asBoolQ(object) { if (true === object) return true; @@ -2799,13 +2747,6 @@ return object; throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "double"), new Error()); }, - _asDoubleS(object) { - if (typeof object == "number") - return object; - if (object == null) - return object; - throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "double"), new Error()); - }, _asDoubleQ(object) { if (typeof object == "number") return object; @@ -2821,13 +2762,6 @@ return object; throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "int"), new Error()); }, - _asIntS(object) { - if (typeof object == "number" && Math.floor(object) === object) - return object; - if (object == null) - return object; - throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "int"), new Error()); - }, _asIntQ(object) { if (typeof object == "number" && Math.floor(object) === object) return object; @@ -2843,13 +2777,6 @@ return object; throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "num"), new Error()); }, - _asNumS(object) { - if (typeof object == "number") - return object; - if (object == null) - return object; - throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "num"), new Error()); - }, _asNumQ(object) { if (typeof object == "number") return object; @@ -2865,13 +2792,6 @@ return object; throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "String"), new Error()); }, - _asStringS(object) { - if (typeof object == "string") - return object; - if (object == null) - return object; - throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "String"), new Error()); - }, _asStringQ(object) { if (typeof object == "string") return object; @@ -2906,7 +2826,7 @@ return s + "})"; }, _functionRtiToString(functionType, genericContext, bounds) { - var boundsLength, offset, i, t1, t2, typeParametersText, typeSep, t3, t4, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", ", outerContextLength = null; + var boundsLength, offset, i, t1, typeParametersText, typeSep, t2, t3, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", ", outerContextLength = null; if (bounds != null) { boundsLength = bounds.length; if (genericContext == null) @@ -2916,19 +2836,15 @@ offset = genericContext.length; for (i = boundsLength; i > 0; --i) B.JSArray_methods.add$1(genericContext, "T" + (offset + i)); - for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) { - t3 = genericContext.length; - t4 = t3 - 1 - i; - if (!(t4 >= 0)) - return A.ioore(genericContext, t4); - typeParametersText = typeParametersText + typeSep + genericContext[t4]; + for (t1 = type$.nullable_Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) { + t2 = genericContext.length; + t3 = t2 - 1 - i; + if (!(t3 >= 0)) + return A.ioore(genericContext, t3); + typeParametersText = typeParametersText + typeSep + genericContext[t3]; boundRti = bounds[i]; kind = boundRti._kind; if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1)) - t3 = boundRti === t2; - else - t3 = true; - if (!t3) typeParametersText += " extends " + A._rtiToString(boundRti, genericContext); } typeParametersText += ">"; @@ -2980,28 +2896,26 @@ return "Never"; if (kind === 4) return "any"; - if (kind === 6) - return A._rtiToString(rti._primary, genericContext); - if (kind === 7) { + if (kind === 6) { questionArgument = rti._primary; s = A._rtiToString(questionArgument, genericContext); argumentKind = questionArgument._kind; - return (argumentKind === 12 || argumentKind === 13 ? "(" + s + ")" : s) + "?"; + return (argumentKind === 11 || argumentKind === 12 ? "(" + s + ")" : s) + "?"; } - if (kind === 8) + if (kind === 7) return "FutureOr<" + A._rtiToString(rti._primary, genericContext) + ">"; - if (kind === 9) { + if (kind === 8) { $name = A._unminifyOrTag(rti._primary); $arguments = rti._rest; return $arguments.length > 0 ? $name + ("<" + A._rtiArrayToString($arguments, genericContext) + ">") : $name; } - if (kind === 11) + if (kind === 10) return A._recordRtiToString(rti, genericContext); - if (kind === 12) + if (kind === 11) return A._functionRtiToString(rti, genericContext, null); - if (kind === 13) + if (kind === 12) return A._functionRtiToString(rti._primary, genericContext, rti._rest); - if (kind === 14) { + if (kind === 13) { t1 = rti._primary; t2 = genericContext.length; t1 = t2 - 1 - t1; @@ -3053,7 +2967,7 @@ probe = t1.get(recipe); if (probe != null) return probe; - rti = A._Parser_parse(A._Parser_create(universe, null, recipe, normalize)); + rti = A._Parser_parse(A._Parser_create(universe, null, recipe, false)); t1.set(recipe, rti); return rti; }, @@ -3078,7 +2992,7 @@ probe = cache.get(argumentsRecipe); if (probe != null) return probe; - rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? argumentsRti._rest : [argumentsRti]); + rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 9 ? argumentsRti._rest : [argumentsRti]); cache.set(argumentsRecipe, rti); return rti; }, @@ -3099,33 +3013,6 @@ universe.eC.set(key, t1); return t1; }, - _Universe__lookupStarRti(universe, baseType, normalize) { - var t1, - key = baseType._canonicalRecipe + "*", - probe = universe.eC.get(key); - if (probe != null) - return probe; - t1 = A._Universe__createStarRti(universe, baseType, key, normalize); - universe.eC.set(key, t1); - return t1; - }, - _Universe__createStarRti(universe, baseType, key, normalize) { - var baseKind, t1, rti; - if (normalize) { - baseKind = baseType._kind; - if (!A.isSoundTopType(baseType)) - t1 = baseType === type$.Null || baseType === type$.JSNull || baseKind === 7 || baseKind === 6; - else - t1 = true; - if (t1) - return baseType; - } - rti = new A.Rti(null, null); - rti._kind = 6; - rti._primary = baseType; - rti._canonicalRecipe = key; - return A._Universe__installTypeTests(universe, rti); - }, _Universe__lookupQuestionRti(universe, baseType, normalize) { var t1, key = baseType._canonicalRecipe + "?", @@ -3137,28 +3024,21 @@ return t1; }, _Universe__createQuestionRti(universe, baseType, key, normalize) { - var baseKind, t1, starArgument, rti; + var baseKind, t1, rti; if (normalize) { baseKind = baseType._kind; t1 = true; - if (!A.isSoundTopType(baseType)) + if (!A.isTopType(baseType)) if (!(baseType === type$.Null || baseType === type$.JSNull)) - if (baseKind !== 7) - t1 = baseKind === 8 && A.isNullable(baseType._primary); + if (baseKind !== 6) + t1 = baseKind === 7 && A.isNullable(baseType._primary); if (t1) return baseType; - else if (baseKind === 1 || baseType === type$.legacy_Never) + else if (baseKind === 1) return type$.Null; - else if (baseKind === 6) { - starArgument = baseType._primary; - if (starArgument._kind === 8 && A.isNullable(starArgument._primary)) - return starArgument; - else - return A.Rti__getQuestionFromStar(universe, baseType); - } } rti = new A.Rti(null, null); - rti._kind = 7; + rti._kind = 6; rti._primary = baseType; rti._canonicalRecipe = key; return A._Universe__installTypeTests(universe, rti); @@ -3177,7 +3057,7 @@ var t1, rti; if (normalize) { t1 = baseType._kind; - if (A.isSoundTopType(baseType) || baseType === type$.Object || baseType === type$.legacy_Object) + if (A.isTopType(baseType) || baseType === type$.Object) return baseType; else if (t1 === 1) return A._Universe__lookupInterfaceRti(universe, "Future", [baseType]); @@ -3185,7 +3065,7 @@ return type$.nullable_Future_Null; } rti = new A.Rti(null, null); - rti._kind = 8; + rti._kind = 7; rti._primary = baseType; rti._canonicalRecipe = key; return A._Universe__installTypeTests(universe, rti); @@ -3197,7 +3077,7 @@ if (probe != null) return probe; rti = new A.Rti(null, null); - rti._kind = 14; + rti._kind = 13; rti._primary = index; rti._canonicalRecipe = key; t1 = A._Universe__installTypeTests(universe, rti); @@ -3230,7 +3110,7 @@ if (probe != null) return probe; rti = new A.Rti(null, null); - rti._kind = 9; + rti._kind = 8; rti._primary = $name; rti._rest = $arguments; if ($arguments.length > 0) @@ -3242,7 +3122,7 @@ }, _Universe__lookupBindingRti(universe, base, $arguments) { var newBase, newArguments, key, probe, rti, t1; - if (base._kind === 10) { + if (base._kind === 9) { newBase = base._primary; newArguments = base._rest.concat($arguments); } else { @@ -3254,7 +3134,7 @@ if (probe != null) return probe; rti = new A.Rti(null, null); - rti._kind = 10; + rti._kind = 9; rti._primary = newBase; rti._rest = newArguments; rti._canonicalRecipe = key; @@ -3269,7 +3149,7 @@ if (probe != null) return probe; rti = new A.Rti(null, null); - rti._kind = 11; + rti._kind = 10; rti._primary = partialShapeTag; rti._rest = fields; rti._canonicalRecipe = key; @@ -3300,7 +3180,7 @@ if (probe != null) return probe; rti = new A.Rti(null, null); - rti._kind = 12; + rti._kind = 11; rti._primary = returnType; rti._rest = parameters; rti._canonicalRecipe = key; @@ -3337,7 +3217,7 @@ } } rti = new A.Rti(null, null); - rti._kind = 13; + rti._kind = 12; rti._primary = baseFunctionType; rti._rest = bounds; rti._canonicalRecipe = key; @@ -3394,10 +3274,6 @@ case 38: A._Parser_handleExtendedOperations(parser, t1); break; - case 42: - t3 = parser.u; - t1.push(A._Universe__lookupStarRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n)); - break; case 63: t3 = parser.u; t1.push(A._Universe__lookupQuestionRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n)); @@ -3486,7 +3362,7 @@ if (hasPeriod) { t1 = parser.u; environment = parser.e; - if (environment._kind === 10) + if (environment._kind === 9) environment = environment._primary; recipe = A._Universe_findRule(t1, environment._primary)[string]; if (recipe == null) @@ -3506,7 +3382,7 @@ else { base = A._Parser_toType(t1, parser.e, head); switch (base._kind) { - case 12: + case 11: stack.push(A._Universe__lookupGenericFunctionRti(t1, base, $arguments, parser.n)); break; default: @@ -3599,7 +3475,7 @@ _Parser_indexToType(universe, environment, index) { var typeArguments, len, kind = environment._kind; - if (kind === 10) { + if (kind === 9) { if (index === 0) return environment._primary; typeArguments = environment._rest; @@ -3611,7 +3487,7 @@ kind = environment._kind; } else if (index === 0) return environment; - if (kind !== 9) + if (kind !== 8) throw A.wrapException(A.AssertionError$("Indexed base must be an interface type")); typeArguments = environment._rest; if (index <= typeArguments.length) @@ -3625,87 +3501,66 @@ sCache = s._isSubtypeCache = new Map(); result = sCache.get(t); if (result == null) { - result = A._isSubtype(universe, s, null, t, null, false) ? 1 : 0; + result = A._isSubtype(universe, s, null, t, null); sCache.set(t, result); } - if (0 === result) - return false; - if (1 === result) - return true; - return true; + return result; }, - _isSubtype(universe, s, sEnv, t, tEnv, isLegacy) { - var t1, sKind, leftTypeVariable, tKind, t2, sBounds, tBounds, sLength, i, sBound, tBound; + _isSubtype(universe, s, sEnv, t, tEnv) { + var sKind, leftTypeVariable, tKind, t1, t2, sBounds, tBounds, sLength, i, sBound, tBound; if (s === t) return true; - if (!A.isSoundTopType(t)) - t1 = t === type$.legacy_Object; - else - t1 = true; - if (t1) + if (A.isTopType(t)) return true; sKind = s._kind; if (sKind === 4) return true; - if (A.isSoundTopType(s)) + if (A.isTopType(s)) return false; - t1 = s._kind; - if (t1 === 1) + if (s._kind === 1) return true; - leftTypeVariable = sKind === 14; + leftTypeVariable = sKind === 13; if (leftTypeVariable) - if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv, false)) + if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv)) return true; tKind = t._kind; - t1 = s === type$.Null || s === type$.JSNull; - if (t1) { - if (tKind === 8) - return A._isSubtype(universe, s, sEnv, t._primary, tEnv, false); - return t === type$.Null || t === type$.JSNull || tKind === 7 || tKind === 6; + t1 = type$.Null; + if (s === t1 || s === type$.JSNull) { + if (tKind === 7) + return A._isSubtype(universe, s, sEnv, t._primary, tEnv); + return t === t1 || t === type$.JSNull || tKind === 6; } if (t === type$.Object) { - if (sKind === 8) - return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); - if (sKind === 6) - return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); - return sKind !== 7; - } - if (sKind === 6) - return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); - if (tKind === 6) { - t1 = A.Rti__getQuestionFromStar(universe, t); - return A._isSubtype(universe, s, sEnv, t1, tEnv, false); - } - if (sKind === 8) { - if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv, false)) - return false; - return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv, false); + if (sKind === 7) + return A._isSubtype(universe, s._primary, sEnv, t, tEnv); + return sKind !== 6; } if (sKind === 7) { - t1 = A._isSubtype(universe, type$.Null, sEnv, t, tEnv, false); - return t1 && A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); - } - if (tKind === 8) { - if (A._isSubtype(universe, s, sEnv, t._primary, tEnv, false)) - return true; - return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv, false); + if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv)) + return false; + return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv); } + if (sKind === 6) + return A._isSubtype(universe, t1, sEnv, t, tEnv) && A._isSubtype(universe, s._primary, sEnv, t, tEnv); if (tKind === 7) { - t1 = A._isSubtype(universe, s, sEnv, type$.Null, tEnv, false); - return t1 || A._isSubtype(universe, s, sEnv, t._primary, tEnv, false); + if (A._isSubtype(universe, s, sEnv, t._primary, tEnv)) + return true; + return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv); } + if (tKind === 6) + return A._isSubtype(universe, s, sEnv, t1, tEnv) || A._isSubtype(universe, s, sEnv, t._primary, tEnv); if (leftTypeVariable) return false; - t1 = sKind !== 12; - if ((!t1 || sKind === 13) && t === type$.Function) + t1 = sKind !== 11; + if ((!t1 || sKind === 12) && t === type$.Function) return true; - t2 = sKind === 11; + t2 = sKind === 10; if (t2 && t === type$.Record) return true; - if (tKind === 13) { + if (tKind === 12) { if (s === type$.JavaScriptFunction) return true; - if (sKind !== 13) + if (sKind !== 12) return false; sBounds = s._rest; tBounds = t._rest; @@ -3717,30 +3572,30 @@ for (i = 0; i < sLength; ++i) { sBound = sBounds[i]; tBound = tBounds[i]; - if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv, false) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv, false)) + if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv)) return false; } - return A._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv, false); + return A._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv); } - if (tKind === 12) { + if (tKind === 11) { if (s === type$.JavaScriptFunction) return true; if (t1) return false; - return A._isFunctionSubtype(universe, s, sEnv, t, tEnv, false); + return A._isFunctionSubtype(universe, s, sEnv, t, tEnv); } - if (sKind === 9) { - if (tKind !== 9) + if (sKind === 8) { + if (tKind !== 8) return false; - return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv, false); + return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv); } - if (t2 && tKind === 11) - return A._isRecordSubtype(universe, s, sEnv, t, tEnv, false); + if (t2 && tKind === 10) + return A._isRecordSubtype(universe, s, sEnv, t, tEnv); return false; }, - _isFunctionSubtype(universe, s, sEnv, t, tEnv, isLegacy) { + _isFunctionSubtype(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 (!A._isSubtype(universe, s._primary, sEnv, t._primary, tEnv, false)) + if (!A._isSubtype(universe, s._primary, sEnv, t._primary, tEnv)) return false; sParameters = s._rest; tParameters = t._rest; @@ -3759,17 +3614,17 @@ return false; for (i = 0; i < sRequiredPositionalLength; ++i) { t1 = sRequiredPositional[i]; - if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv, false)) + if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv)) return false; } for (i = 0; i < requiredPositionalDelta; ++i) { t1 = sOptionalPositional[i]; - if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv, false)) + if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv)) return false; } for (i = 0; i < tOptionalPositionalLength; ++i) { t1 = sOptionalPositional[requiredPositionalDelta + i]; - if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv, false)) + if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv)) return false; } sNamed = sParameters._named; @@ -3795,7 +3650,7 @@ if (sIsRequired && !t1) return false; t1 = sNamed[sIndex - 1]; - if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv, false)) + if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv)) return false; break; } @@ -3807,7 +3662,7 @@ } return true; }, - _isInterfaceSubtype(universe, s, sEnv, t, tEnv, isLegacy) { + _isInterfaceSubtype(universe, s, sEnv, t, tEnv) { var rule, recipes, $length, supertypeArgs, i, sName = s._primary, tName = t._primary; @@ -3826,19 +3681,19 @@ supertypeArgs = $length > 0 ? new Array($length) : init.typeUniverse.sEA; for (i = 0; i < $length; ++i) supertypeArgs[i] = A._Universe_evalInEnvironment(universe, s, recipes[i]); - return A._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv, false); + return A._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv); } - return A._areArgumentsSubtypes(universe, s._rest, null, sEnv, t._rest, tEnv, false); + return A._areArgumentsSubtypes(universe, s._rest, null, sEnv, t._rest, tEnv); }, - _areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv, isLegacy) { + _areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv) { var i, $length = sArgs.length; for (i = 0; i < $length; ++i) - if (!A._isSubtype(universe, sArgs[i], sEnv, tArgs[i], tEnv, false)) + if (!A._isSubtype(universe, sArgs[i], sEnv, tArgs[i], tEnv)) return false; return true; }, - _isRecordSubtype(universe, s, sEnv, t, tEnv, isLegacy) { + _isRecordSubtype(universe, s, sEnv, t, tEnv) { var i, sFields = s._rest, tFields = t._rest, @@ -3848,7 +3703,7 @@ if (s._primary !== t._primary) return false; for (i = 0; i < sCount; ++i) - if (!A._isSubtype(universe, sFields[i], sEnv, tFields[i], tEnv, false)) + if (!A._isSubtype(universe, sFields[i], sEnv, tFields[i], tEnv)) return false; return true; }, @@ -3856,21 +3711,12 @@ var kind = t._kind, t1 = true; if (!(t === type$.Null || t === type$.JSNull)) - if (!A.isSoundTopType(t)) - if (kind !== 7) - if (!(kind === 6 && A.isNullable(t._primary))) - t1 = kind === 8 && A.isNullable(t._primary); - return t1; - }, - isDefinitelyTopType(t) { - var t1; - if (!A.isSoundTopType(t)) - t1 = t === type$.legacy_Object; - else - t1 = true; + if (!A.isTopType(t)) + if (kind !== 6) + t1 = kind === 7 && A.isNullable(t._primary); return t1; }, - isSoundTopType(t) { + isTopType(t) { var kind = t._kind; return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object; }, @@ -3952,6 +3798,7 @@ return completer._future; }, _asyncAwait(object, bodyFunction) { + bodyFunction.toString; A._awaitOnObject(object, bodyFunction); }, _asyncReturn(object, completer) { @@ -4116,15 +3963,15 @@ target._zone.scheduleMicrotask$1(new A._Future__chainCoreFuture_closure(_box_0, target)); }, _Future__propagateToListeners(source, listeners) { - var t2, t3, t4, _box_0, t5, t6, hasError, asyncError, nextListener, nextListener0, sourceResult, t7, zone, oldZone, result, current, _box_1 = {}, + var t2, t3, _box_0, t4, t5, hasError, asyncError, nextListener, nextListener0, sourceResult, t6, zone, oldZone, result, current, _box_1 = {}, t1 = _box_1.source = source; - for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic, t4 = type$.Future_dynamic; true;) { + for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic; true;) { _box_0 = {}; - t5 = t1._state; - t6 = (t5 & 16) === 0; - hasError = !t6; + t4 = t1._state; + t5 = (t4 & 16) === 0; + hasError = !t5; if (listeners == null) { - if (hasError && (t5 & 1) === 0) { + if (hasError && (t4 & 1) === 0) { asyncError = t2._as(t1._resultOrListeners); t1._zone.handleUncaughtError$2(asyncError.error, asyncError.stackTrace); } @@ -4138,19 +3985,19 @@ _box_0.listener = nextListener; nextListener0 = nextListener._nextListener; } - t5 = _box_1.source; - sourceResult = t5._resultOrListeners; + t4 = _box_1.source; + sourceResult = t4._resultOrListeners; _box_0.listenerHasError = hasError; _box_0.listenerValueOrError = sourceResult; - if (t6) { - t7 = t1.state; - t7 = (t7 & 1) !== 0 || (t7 & 15) === 8; + if (t5) { + t6 = t1.state; + t6 = (t6 & 1) !== 0 || (t6 & 15) === 8; } else - t7 = true; - if (t7) { + t6 = true; + if (t6) { zone = t1.result._zone; if (hasError) { - t1 = t5._zone; + t1 = t4._zone; t1 = !(t1 === zone || t1.get$errorZone() === zone.get$errorZone()); } else t1 = false; @@ -4168,7 +4015,7 @@ t1 = _box_0.listener.state; if ((t1 & 15) === 8) new A._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0(); - else if (t6) { + else if (t5) { if ((t1 & 1) !== 0) new A._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0(); } else if ((t1 & 2) !== 0) @@ -4177,12 +4024,11 @@ $.Zone__current = oldZone; t1 = _box_0.listenerValueOrError; if (t1 instanceof A._Future) { - t5 = _box_0.listener.$ti; - t5 = t5._eval$1("Future<2>")._is(t1) || !t5._rest[1]._is(t1); + t4 = _box_0.listener.$ti; + t4 = t4._eval$1("Future<2>")._is(t1) || !t4._rest[1]._is(t1); } else - t5 = false; - if (t5) { - t4._as(t1); + t4 = false; + if (t4) { result = _box_0.listener.result; if ((t1._state & 24) !== 0) { current = t3._as(result._resultOrListeners); @@ -4202,15 +4048,15 @@ result._resultOrListeners = null; listeners = result._reverseListeners$1(current); t1 = _box_0.listenerHasError; - t5 = _box_0.listenerValueOrError; + t4 = _box_0.listenerValueOrError; if (!t1) { - result.$ti._precomputed1._as(t5); + result.$ti._precomputed1._as(t4); result._state = 8; - result._resultOrListeners = t5; + result._resultOrListeners = t4; } else { - t2._as(t5); + t2._as(t4); result._state = result._state & 1 | 16; - result._resultOrListeners = t5; + result._resultOrListeners = t4; } _box_1.source = result; t1 = result; @@ -6099,14 +5945,6 @@ list.$flags = 1; return list; }, - List_List$of(elements, growable, $E) { - var t1; - if (growable) - return A.List_List$_of(elements, $E); - t1 = A.List_List$_of(elements, $E); - t1.$flags = 1; - return t1; - }, List_List$_of(elements, $E) { var list, t1; if (Array.isArray(elements)) @@ -6146,7 +5984,8 @@ charCodes = J.take$1$ax(charCodes, end); if (start > 0) charCodes = J.skip$1$ax(charCodes, start); - return A.Primitives_stringFromCharCodes(A.List_List$of(charCodes, true, type$.int)); + t1 = A.List_List$_of(charCodes, type$.int); + return A.Primitives_stringFromCharCodes(t1); }, String__stringFromUint8List(charCodes, start, endOrNull) { var len = charCodes.length; @@ -6155,7 +5994,7 @@ return A.Primitives_stringFromNativeUint8List(charCodes, start, endOrNull == null || endOrNull > len ? len : endOrNull); }, RegExp_RegExp(source, caseSensitive, multiLine) { - return new A.JSSyntaxRegExp(source, A.JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, false, false, false)); + return new A.JSSyntaxRegExp(source, A.JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, false, false, "")); }, identical(a, b) { return a == null ? b == null : a === b; @@ -6644,6 +6483,66 @@ result[partIndex] = part; return result; }, + Uri__validateIPvAddress(host, start, end) { + var error; + if (start === end) + throw A.wrapException(A.FormatException$("Empty IP address", host, start)); + if (!(start >= 0 && start < host.length)) + return A.ioore(host, start); + if (host.charCodeAt(start) === 118) { + error = A.Uri__validateIPvFutureAddress(host, start, end); + if (error != null) + throw A.wrapException(error); + return false; + } + A.Uri_parseIPv6Address(host, start, end); + return true; + }, + Uri__validateIPvFutureAddress(host, start, end) { + var t1, cursor, cursor0, char, ucChar, + _s38_ = "Missing hex-digit in IPvFuture address", + _s128_ = string$.x00_____; + ++start; + for (t1 = host.length, cursor = start; true; cursor = cursor0) { + if (cursor < end) { + cursor0 = cursor + 1; + if (!(cursor >= 0 && cursor < t1)) + return A.ioore(host, cursor); + char = host.charCodeAt(cursor); + if ((char ^ 48) <= 9) + continue; + ucChar = char | 32; + if (ucChar >= 97 && ucChar <= 102) + continue; + if (char === 46) { + if (cursor0 - 1 === start) + return new A.FormatException(_s38_, host, cursor0); + cursor = cursor0; + break; + } + return new A.FormatException("Unexpected character", host, cursor0 - 1); + } + if (cursor - 1 === start) + return new A.FormatException(_s38_, host, cursor); + return new A.FormatException("Missing '.' in IPvFuture address", host, cursor); + } + if (cursor === end) + return new A.FormatException("Missing address in IPvFuture address, host, cursor", null, null); + for (; true;) { + if (!(cursor >= 0 && cursor < t1)) + return A.ioore(host, cursor); + char = host.charCodeAt(cursor); + if (!(char < 128)) + return A.ioore(_s128_, char); + if ((_s128_.charCodeAt(char) & 16) !== 0) { + ++cursor; + if (cursor < end) + continue; + return null; + } + return new A.FormatException("Invalid IPvFuture address character", host, cursor); + } + }, Uri_parseIPv6Address(host, start, end) { var parts, i, partStart, wildcardSeen, seenDot, char, atEnd, last, bytes, wildCardLength, index, value, j, t2, _null = null, error = new A.Uri_parseIPv6Address_error(host), @@ -6777,7 +6676,7 @@ return port; }, _Uri__makeHost(host, start, end, strictIPv6) { - var t1, t2, index, zoneIDstart, zoneID, i; + var t1, t2, t3, zoneID, index, zoneIDstart, isIPv6, hostChars, i; if (host == null) return null; if (start === end) @@ -6791,15 +6690,21 @@ return A.ioore(host, t2); if (host.charCodeAt(t2) !== 93) A._Uri__fail(host, start, "Missing end `]` to match `[` in host"); - t1 = start + 1; - index = A._Uri__checkZoneID(host, t1, t2); - if (index < t2) { - zoneIDstart = index + 1; - zoneID = A._Uri__normalizeZoneID(host, B.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, t2, "%25"); + t3 = start + 1; + if (!(t3 < t1)) + return A.ioore(host, t3); + zoneID = ""; + if (host.charCodeAt(t3) !== 118) { + index = A._Uri__checkZoneID(host, t3, t2); + if (index < t2) { + zoneIDstart = index + 1; + zoneID = A._Uri__normalizeZoneID(host, B.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, t2, "%25"); + } } else - zoneID = ""; - A.Uri_parseIPv6Address(host, t1, index); - return B.JSString_methods.substring$2(host, start, index).toLowerCase() + zoneID + "]"; + index = t2; + isIPv6 = A.Uri__validateIPvAddress(host, t3, index); + hostChars = B.JSString_methods.substring$2(host, t3, index); + return "[" + (isIPv6 ? hostChars.toLowerCase() : hostChars) + zoneID + "]"; } for (i = start; i < end; ++i) { if (!(i < t1)) @@ -7176,7 +7081,7 @@ t3 = buffer; } else t3 = buffer; - t3._contents = (t3._contents += B.JSString_methods.substring$2(component, sectionStart, index)) + A.S(replacement); + t3._contents = (t3._contents += B.JSString_methods.substring$2(component, sectionStart, index)) + replacement; if (typeof sourceLength !== "number") return A.iae(sourceLength); index += sourceLength; @@ -7616,7 +7521,7 @@ if (constructorName.length === 0) return false; parts = constructorName.split("."); - $constructor = type$.JSObject._as(self); + $constructor = init.G; for (t1 = parts.length, t2 = type$.nullable_JSObject, _i = 0; _i < t1; ++_i) { part = parts[_i]; $constructor = t2._as($constructor[part]); @@ -7626,10 +7531,10 @@ return _this instanceof type$.JavaScriptFunction._as($constructor); }, FutureOfJSAnyToJSPromise_get_toJS(_this, $T) { - return type$.JSObject._as(new self.Promise(A._functionToJS2(new A.FutureOfJSAnyToJSPromise_get_toJS_closure(_this)))); + return type$.JSObject._as(new init.G.Promise(A._functionToJS2(new A.FutureOfJSAnyToJSPromise_get_toJS_closure(_this)))); }, FutureOfVoidToJSPromise_get_toJS(_this) { - return type$.JSObject._as(new self.Promise(A._functionToJS2(new A.FutureOfVoidToJSPromise_get_toJS_closure(_this)))); + return type$.JSObject._as(new init.G.Promise(A._functionToJS2(new A.FutureOfVoidToJSPromise_get_toJS_closure(_this)))); }, FutureOfJSAnyToJSPromise_get_toJS_closure: function FutureOfJSAnyToJSPromise_get_toJS_closure(t0) { this._this = t0; @@ -7771,11 +7676,11 @@ A.checkTypeBound($T, type$.num, "T", "max"); return Math.max($T._as(a), $T._as(b)); }, - Random_Random(seed) { - return B.C__JSRandom; - }, _JSRandom: function _JSRandom() { }, + _JSSecureRandom: function _JSSecureRandom(t0) { + this._math$_buffer = t0; + }, AsyncMemoizer: function AsyncMemoizer(t0, t1) { this._async_memoizer$_completer = t0; this.$ti = t1; @@ -8499,6 +8404,34 @@ BatchedEventsBuilder: function BatchedEventsBuilder() { this._extension_request$_events = this._extension_request$_$v = null; }, + HotReloadRequest: function HotReloadRequest() { + }, + _$HotReloadRequestSerializer: function _$HotReloadRequestSerializer() { + }, + _$HotReloadRequest: function _$HotReloadRequest(t0) { + this.id = t0; + }, + HotReloadRequestBuilder: function HotReloadRequestBuilder() { + this._hot_reload_request$_id = this._hot_reload_request$_$v = null; + }, + _$HotReloadResponse__$HotReloadResponse(updates) { + var t1 = new A.HotReloadResponseBuilder(); + type$.nullable_void_Function_HotReloadResponseBuilder._as(updates).call$1(t1); + return t1._hot_reload_response$_build$0(); + }, + HotReloadResponse: function HotReloadResponse() { + }, + _$HotReloadResponseSerializer: function _$HotReloadResponseSerializer() { + }, + _$HotReloadResponse: function _$HotReloadResponse(t0, t1, t2) { + this.id = t0; + this.success = t1; + this.errorMessage = t2; + }, + HotReloadResponseBuilder: function HotReloadResponseBuilder() { + var _ = this; + _._errorMessage = _._hot_reload_response$_success = _._hot_reload_response$_id = _._hot_reload_response$_$v = null; + }, IsolateExit: function IsolateExit() { }, IsolateStart: function IsolateStart() { @@ -8726,7 +8659,7 @@ next = lastVisited.removeLast$0(0); onStack.remove$1(0, next); B.JSArray_methods.add$1(component, next); - } while (!A.boolConversionCheck(A._defaultEquals(next, node))); + } while (!A._defaultEquals(next, node)); B.JSArray_methods.add$1(result, component); } } @@ -8812,6 +8745,9 @@ _._finalized = false; }, Response_fromStream(response) { + return A.Response_fromStream$body(response); + }, + Response_fromStream$body(response) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Response), $async$returnValue, body, t1, t2, t3, t4, t5, t6; @@ -9127,7 +9063,8 @@ J.sort$1$ax(t2.__js_helper$_current, new A.Highlighter__collateLines_closure0()); t1 = t1._eval$1("LinkedHashMapEntriesIterable<1,2>"); t2 = t1._eval$1("ExpandIterable"); - return A.List_List$of(new A.ExpandIterable(new A.LinkedHashMapEntriesIterable(highlightsByUrl, t1), t1._eval$1("Iterable<_Line>(Iterable.E)")._as(new A.Highlighter__collateLines_closure1()), t2), true, t2._eval$1("Iterable.E")); + t1 = A.List_List$_of(new A.ExpandIterable(new A.LinkedHashMapEntriesIterable(highlightsByUrl, t1), t1._eval$1("Iterable<_Line>(Iterable.E)")._as(new A.Highlighter__collateLines_closure1()), t2), t2._eval$1("Iterable.E")); + return t1; }, _Highlight$(span, primary) { var t1 = new A._Highlight_closure(span).call$0(); @@ -9474,8 +9411,7 @@ }, RNG: function RNG() { }, - MathRNG: function MathRNG(t0) { - this._rnd = t0; + CryptoRNG: function CryptoRNG() { }, UuidV1: function UuidV1(t0) { this.goptions = t0; @@ -9525,6 +9461,9 @@ this.handleData = t0; }, BrowserWebSocket_connect(url, protocols) { + return A.BrowserWebSocket_connect$body(url, protocols); + }, + BrowserWebSocket_connect$body(url, protocols) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.BrowserWebSocket), $async$returnValue, t1, t2, t3, t4, webSocket, browserSocket, webSocketConnected; @@ -9537,7 +9476,7 @@ // Function start if (!url.isScheme$1("ws") && !url.isScheme$1("wss")) throw A.wrapException(A.ArgumentError$value(url, "url", "only ws: and wss: schemes are supported")); - t1 = self; + t1 = init.G; t2 = t1.WebSocket; t3 = url.toString$0(0); t1 = type$.JSArray_nullable_Object._as(new t1.Array()); @@ -9669,14 +9608,14 @@ }, _launchCommunicationWithDebugExtension() { var t1, t2; - type$.JSObject._as(self.window).addEventListener("message", A._functionToJS1(A.client___handleAuthRequest$closure())); + type$.JSObject._as(init.G.window).addEventListener("message", A._functionToJS1(A.client___handleAuthRequest$closure())); t1 = $.$get$serializers(); t2 = new A.DebugInfoBuilder(); type$.nullable_void_Function_DebugInfoBuilder._as(new A._launchCommunicationWithDebugExtension_closure()).call$1(t2); A._dispatchEvent("dart-app-ready", B.C_JsonCodec.encode$2$toEncodable(t1.serialize$1(t2._debug_info$_build$0()), null)); }, _dispatchEvent(message, detail) { - var t1 = self, + var t1 = init.G, t2 = type$.JSObject, $event = t2._as(new t1.CustomEvent(message, {detail: detail})); A._asBool(t2._as(t1.document).dispatchEvent($event)); @@ -9695,6 +9634,9 @@ } }, _authenticateUser(authUrl) { + return A._authenticateUser$body(authUrl); + }, + _authenticateUser$body(authUrl) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.bool), $async$returnValue, response, client; @@ -9723,19 +9665,75 @@ }); return A._asyncStartSync($async$_authenticateUser, $async$completer); }, + handleWebSocketHotReloadRequest($event, manager, clientSink) { + return A.handleWebSocketHotReloadRequest$body($event, manager, clientSink); + }, + handleWebSocketHotReloadRequest$body($event, manager, clientSink) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$handler = 1, $async$errorStack = [], e, exception, requestId, $async$exception; + var $async$handleWebSocketHotReloadRequest = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + requestId = $event.id; + $async$handler = 3; + $async$goto = 6; + return A._asyncAwait(manager._restarter.fetchLibrariesForHotReload$1(A.hotReloadSourcesPath()), $async$handleWebSocketHotReloadRequest); + case 6: + // returning from await. + $async$goto = 7; + return A._asyncAwait(manager.hotReload$0(), $async$handleWebSocketHotReloadRequest); + case 7: + // returning from await. + A._trySendEvent(clientSink, B.C_JsonCodec.encode$2$toEncodable($.$get$serializers().serialize$1(A._$HotReloadResponse__$HotReloadResponse(new A.handleWebSocketHotReloadRequest_closure(requestId))), null), type$.dynamic); + $async$handler = 1; + // goto after finally + $async$goto = 5; + break; + case 3: + // catch + $async$handler = 2; + $async$exception = $async$errorStack.pop(); + e = A.unwrapException($async$exception); + A._trySendEvent(clientSink, B.C_JsonCodec.encode$2$toEncodable($.$get$serializers().serialize$1(A._$HotReloadResponse__$HotReloadResponse(new A.handleWebSocketHotReloadRequest_closure0(requestId, e))), null), type$.dynamic); + // goto after finally + $async$goto = 5; + break; + case 2: + // uncaught + // goto rethrow + $async$goto = 1; + break; + case 5: + // after finally + // implicit return + return A._asyncReturn(null, $async$completer); + case 1: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$handleWebSocketHotReloadRequest, $async$completer); + }, hotReloadSourcesPath() { - var path = A._asStringQ(self.$hotReloadSourcesPath); + var path = A._asStringQ(init.G.$hotReloadSourcesPath); if (path == null) throw A.wrapException(A.StateError$("Expected 'hotReloadSourcePath' to not be null in a hot reload.")); return path; }, _isChromium() { var t1 = type$.JSObject; - return B.JSString_methods.contains$1(A._asString(t1._as(t1._as(self.window).navigator).vendor), "Google"); + return B.JSString_methods.contains$1(A._asString(t1._as(t1._as(init.G.window).navigator).vendor), "Google"); }, _authUrl() { var authUrl, - extensionUrl = A._asStringQ(type$.JavaScriptObject._as(self.window).$dartExtensionUri); + extensionUrl = A._asStringQ(type$.JavaScriptObject._as(init.G.window).$dartExtensionUri); if (extensionUrl == null) return null; authUrl = A.Uri_parse(extensionUrl).replace$1$path("$dwdsExtensionAuthentication"); @@ -9787,8 +9785,9 @@ }, main___closure: function main___closure() { }, - main__closure7: function main__closure7(t0) { + main__closure7: function main__closure7(t0, t1) { this.manager = t0; + this.client = t1; }, main__closure8: function main__closure8() { }, @@ -9802,7 +9801,17 @@ }, _handleAuthRequest_closure: function _handleAuthRequest_closure() { }, + handleWebSocketHotReloadRequest_closure: function handleWebSocketHotReloadRequest_closure(t0) { + this.requestId = t0; + }, + handleWebSocketHotReloadRequest_closure0: function handleWebSocketHotReloadRequest_closure0(t0, t1) { + this.requestId = t0; + this.e = t1; + }, _Debugger_maybeInvokeFlutterDisassemble(_this) { + return A._Debugger_maybeInvokeFlutterDisassemble$body(_this); + }, + _Debugger_maybeInvokeFlutterDisassemble$body(_this) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), t1; @@ -9850,6 +9859,9 @@ this._restarter = t1; }, SdkDeveloperExtension_maybeInvokeFlutterDisassemble(_this) { + return A.SdkDeveloperExtension_maybeInvokeFlutterDisassemble$body(_this); + }, + SdkDeveloperExtension_maybeInvokeFlutterDisassemble$body(_this) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void); var $async$SdkDeveloperExtension_maybeInvokeFlutterDisassemble = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { @@ -9932,7 +9944,7 @@ _findNonce() { var t2, i, element, t3, nonceValue, t1 = type$.JSObject, - elements = t1._as(t1._as(t1._as(self.window).document).querySelectorAll("script")); + elements = t1._as(t1._as(t1._as(init.G.window).document).querySelectorAll("script")); for (t2 = type$.nullable_JSObject, i = 0; i < A._asInt(elements.length); ++i) { element = t2._as(elements.item(i)); t3 = element == null ? t1._as(element) : element; @@ -9947,7 +9959,7 @@ var t1, t2, scriptElement = $.$get$_createScript().call$0(); scriptElement.innerHTML = "window.$dartRunMain();"; - t1 = type$.nullable_JSObject._as(type$.JSObject._as(self.document).body); + t1 = type$.nullable_JSObject._as(type$.JSObject._as(init.G.document).body); t1.toString; t2 = A.jsify(scriptElement); t2.toString; @@ -9986,7 +9998,8 @@ throw "Unable to print message: " + String(string); }, JSFunctionUnsafeUtilExtension_callAsConstructor(_this, arg1, $R) { - return $R._as(A.callConstructor(_this, [arg1], type$.JSObject)); + var t1 = [arg1]; + return $R._as(A.callConstructor(_this, t1, type$.JSObject)); }, groupBy(values, key, $S, $T) { var t1, _i, element, t2, t3, @@ -10304,7 +10317,7 @@ end = receiver.length; for (i = 0; i < end; ++i) { element = receiver[i]; - if (!A.boolConversionCheck(test.call$1(element))) + if (!test.call$1(element)) retained.push(element); if (receiver.length !== end) throw A.wrapException(A.ConcurrentModificationError$(receiver)); @@ -10347,6 +10360,7 @@ return new A.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(receiver, f) { + f.toString; return this.map$1$1(receiver, f, type$.dynamic); }, join$1(receiver, separator) { @@ -10563,11 +10577,12 @@ if (start >= receiver.length) return -1; for (i = start; i < receiver.length; ++i) - if (A.boolConversionCheck(test.call$1(receiver[i]))) + if (test.call$1(receiver[i])) return i; return -1; }, indexWhere$1(receiver, test) { + test.toString; return this.indexWhere$2(receiver, test, 0); }, get$runtimeType(receiver) { @@ -11193,6 +11208,7 @@ return new A.MappedListIterable(this, t1._bind$1($T)._eval$1("1(ListIterable.E)")._as(toElement), t1._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>")); }, map$1(_, toElement) { + toElement.toString; return this.map$1$1(0, toElement, type$.dynamic); }, reduce$1(_, combine) { @@ -11216,7 +11232,8 @@ return A.SubListIterable$(this, 0, A.checkNotNullable(count, "count", type$.int), A._instanceType(this)._eval$1("ListIterable.E")); }, toList$1$growable(_, growable) { - return A.List_List$of(this, true, A._instanceType(this)._eval$1("ListIterable.E")); + var t1 = A.List_List$_of(this, A._instanceType(this)._eval$1("ListIterable.E")); + return t1; }, toList$0(_) { return this.toList$1$growable(0, true); @@ -11257,8 +11274,6 @@ endOrLength = this._endOrLength; if (endOrLength == null || endOrLength >= $length) return $length - t1; - if (typeof endOrLength !== "number") - return endOrLength.$sub(); return endOrLength - t1; }, elementAt$1(_, index) { @@ -11389,6 +11404,7 @@ return new A.MappedIterable(this, t1._bind$1($T)._eval$1("1(2)")._as(toElement), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedIterable<1,2>")); }, map$1(_, toElement) { + toElement.toString; return this.map$1$1(0, toElement, type$.dynamic); } }; @@ -11396,7 +11412,7 @@ moveNext$0() { var t1, t2; for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();) - if (A.boolConversionCheck(t2.call$1(t1.get$current()))) + if (t2.call$1(t1.get$current())) return true; return false; }, @@ -11526,6 +11542,7 @@ return new A.EmptyIterable($T._eval$1("EmptyIterable<0>")); }, map$1(_, toElement) { + toElement.toString; return this.map$1$1(0, toElement, type$.dynamic); }, skip$1(_, count) { @@ -11634,6 +11651,7 @@ }, map$1(_, transform) { var t1 = type$.dynamic; + transform.toString; return this.map$2$1(0, transform, t1, t1); }, $isMap: 1 @@ -11856,21 +11874,11 @@ return "Closure '" + this.$_name + "' of " + ("Instance of '" + A.Primitives_objectTypeName(this._receiver) + "'"); } }; - A._CyclicInitializationError.prototype = { - toString$0(_) { - return "Reading static variable '" + this.variableName + "' during its initialization"; - } - }; A.RuntimeError.prototype = { toString$0(_) { return "RuntimeError: " + this.message; } }; - A._AssertionError.prototype = { - toString$0(_) { - return "Assertion failed: " + A.Error_safeToString(this.message); - } - }; A.JsLinkedHashMap.prototype = { get$length(_) { return this.__js_helper$_length; @@ -12247,7 +12255,7 @@ call$1(tag) { return this.prototypeForTag(A._asString(tag)); }, - $signature: 35 + $signature: 104 }; A._Record.prototype = { get$runtimeType(_) { @@ -12335,7 +12343,7 @@ if (t1 != null) return t1; t1 = _this._nativeRegExp; - return _this._nativeGlobalRegExp = A.JSSyntaxRegExp_makeNative(_this.pattern, t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true); + return _this._nativeGlobalRegExp = A.JSSyntaxRegExp_makeNative(_this.pattern, t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, "g"); }, get$_nativeAnchoredVersion() { var _this = this, @@ -12343,7 +12351,7 @@ if (t1 != null) return t1; t1 = _this._nativeRegExp; - return _this._nativeAnchoredRegExp = A.JSSyntaxRegExp_makeNative(_this.pattern + "|()", t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true); + return _this._nativeAnchoredRegExp = A.JSSyntaxRegExp_makeNative(_this.pattern, t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, "y"); }, firstMatch$1(string) { var m = this._nativeRegExp.exec(string); @@ -12380,10 +12388,6 @@ match = regexp.exec(string); if (match == null) return null; - if (0 >= match.length) - return A.ioore(match, -1); - if (match.pop() != null) - return null; return new A._MatchImplementation(match); }, matchAsPrefix$2(_, string, start) { @@ -12545,11 +12549,20 @@ get$runtimeType(receiver) { return B.Type_ByteBuffer_rqD; }, + asUint8List$2(receiver, offsetInBytes, $length) { + return $length == null ? new Uint8Array(receiver, offsetInBytes) : new Uint8Array(receiver, offsetInBytes, $length); + }, $isTrustedGetRuntimeType: 1, $isNativeByteBuffer: 1, $isByteBuffer: 1 }; A.NativeTypedData.prototype = { + get$buffer(receiver) { + if (((receiver.$flags | 0) & 2) !== 0) + return new A._UnmodifiableNativeByteBufferView(receiver.buffer); + else + return receiver.buffer; + }, _invalidPosition$3(receiver, position, $length, $name) { var t1 = A.RangeError$range(position, 0, $length, $name, null); throw A.wrapException(t1); @@ -12559,6 +12572,14 @@ this._invalidPosition$3(receiver, position, $length, $name); } }; + A._UnmodifiableNativeByteBufferView.prototype = { + asUint8List$2(_, offsetInBytes, $length) { + var result = A.NativeUint8List_NativeUint8List$view(this.__native_typed_data$_data, offsetInBytes, $length); + result.$flags = 3; + return result; + }, + $isByteBuffer: 1 + }; A.NativeByteData.prototype = { get$runtimeType(receiver) { return B.Type_ByteData_9dB; @@ -12934,7 +12955,7 @@ call$2(errorCode, result) { this.$protected(A._asInt(errorCode), result); }, - $signature: 39 + $signature: 89 }; A.AsyncError.prototype = { toString$0(_) { @@ -13063,6 +13084,7 @@ return result; }, then$1$1(f, $R) { + f.toString; return this.then$1$2$onError(f, null, $R); }, _thenAwait$1$2(f, onError, $E) { @@ -13441,6 +13463,7 @@ return new A._MapStream(t1._bind$1($S)._eval$1("1(Stream.T)")._as(convert), this, t1._eval$1("@")._bind$1($S)._eval$1("_MapStream<1,2>")); }, map$1(_, convert) { + convert.toString; return this.map$1$1(0, convert, type$.dynamic); }, get$length(_) { @@ -14934,7 +14957,7 @@ }; A._CustomHashMap.prototype = { $index(_, key) { - if (!A.boolConversionCheck(this._validKey.call$1(key))) + if (!this._validKey.call$1(key)) return null; return this.super$_HashMap$_get(key); }, @@ -14943,7 +14966,7 @@ this.super$_HashMap$_set(t1._precomputed1._as(key), t1._rest[1]._as(value)); }, containsKey$1(key) { - if (!A.boolConversionCheck(this._validKey.call$1(key))) + if (!this._validKey.call$1(key)) return false; return this.super$_HashMap$_containsKey(key); }, @@ -14956,7 +14979,7 @@ return -1; $length = bucket.length; for (t1 = this.$ti._precomputed1, t2 = this._equals, i = 0; i < $length; i += 2) - if (A.boolConversionCheck(t2.call$2(bucket[i], t1._as(key)))) + if (t2.call$2(bucket[i], t1._as(key))) return i; return -1; } @@ -15010,7 +15033,7 @@ }; A._LinkedCustomHashMap.prototype = { $index(_, key) { - if (!A.boolConversionCheck(this._validKey.call$1(key))) + if (!this._validKey.call$1(key)) return null; return this.super$JsLinkedHashMap$internalGet(key); }, @@ -15019,12 +15042,12 @@ this.super$JsLinkedHashMap$internalSet(t1._precomputed1._as(key), t1._rest[1]._as(value)); }, containsKey$1(key) { - if (!A.boolConversionCheck(this._validKey.call$1(key))) + if (!this._validKey.call$1(key)) return false; return this.super$JsLinkedHashMap$internalContainsKey(key); }, remove$1(_, key) { - if (!A.boolConversionCheck(this._validKey.call$1(key))) + if (!this._validKey.call$1(key)) return null; return this.super$JsLinkedHashMap$internalRemove(key); }, @@ -15037,7 +15060,7 @@ return -1; $length = bucket.length; for (t1 = this.$ti._precomputed1, t2 = this._equals, i = 0; i < $length; ++i) - if (A.boolConversionCheck(t2.call$2(t1._as(bucket[i].hashMapCellKey), t1._as(key)))) + if (t2.call$2(t1._as(bucket[i].hashMapCellKey), t1._as(key))) return i; return -1; } @@ -15414,7 +15437,7 @@ call$2(k, v) { this.result.$indexSet(0, this.K._as(k), this.V._as(v)); }, - $signature: 30 + $signature: 31 }; A.ListBase.prototype = { get$iterator(receiver) { @@ -15450,6 +15473,7 @@ return new A.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(ListBase.E)")._as(f), t1._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>")); }, map$1(receiver, f) { + f.toString; return this.map$1$1(receiver, f, type$.dynamic); }, skip$1(receiver, count) { @@ -15491,11 +15515,13 @@ A.Sort__doSort(receiver, 0, this.get$length(receiver) - 1, t2, t1._eval$1("ListBase.E")); }, sublist$2(receiver, start, end) { - var listLength = this.get$length(receiver); + var t1, + listLength = this.get$length(receiver); if (end == null) end = listLength; A.RangeError_checkValidRange(start, end, listLength); - return A.List_List$of(this.getRange$2(receiver, start, end), true, A.instanceType(receiver)._eval$1("ListBase.E")); + t1 = A.List_List$_of(this.getRange$2(receiver, start, end), A.instanceType(receiver)._eval$1("ListBase.E")); + return t1; }, sublist$1(receiver, start) { return this.sublist$2(receiver, start, null); @@ -15573,6 +15599,7 @@ }, map$1(_, transform) { var t1 = type$.dynamic; + transform.toString; return this.map$2$1(0, transform, t1, t1); }, containsKey$1(key) { @@ -15604,7 +15631,7 @@ t2 = A.S(v); t1._contents += t2; }, - $signature: 32 + $signature: 33 }; A._UnmodifiableMapMixin.prototype = { $indexSet(_, key, value) { @@ -15650,6 +15677,7 @@ }, map$1(_, transform) { var t1 = type$.dynamic; + transform.toString; return this.map$2$1(0, transform, t1, t1); }, $isMap: 1 @@ -15808,6 +15836,7 @@ return new A.EfficientLengthMappedIterable(this, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); }, map$1(_, f) { + f.toString; return this.map$1$1(0, f, type$.dynamic); }, toString$0(_) { @@ -16255,7 +16284,7 @@ } return null; }, - $signature: 21 + $signature: 25 }; A._Utf8Decoder__decoderNonfatal_closure.prototype = { call$0() { @@ -16267,7 +16296,7 @@ } return null; }, - $signature: 21 + $signature: 25 }; A.AsciiCodec.prototype = { encode$1(source) { @@ -16770,7 +16799,7 @@ B.JSArray_methods.$indexSet(t1, t2.i++, key); B.JSArray_methods.$indexSet(t1, t2.i++, value); }, - $signature: 32 + $signature: 33 }; A._JsonStringStringifier.prototype = { get$_partialResult() { @@ -17452,7 +17481,7 @@ hash = hash + ((hash & 524287) << 10) & 536870911; return hash ^ hash >>> 6; }, - $signature: 27 + $signature: 28 }; A._BigIntImpl_hashCode_finish.prototype = { call$1(hash) { @@ -17757,6 +17786,7 @@ return A.MappedIterable_MappedIterable(this, t1._bind$1($T)._eval$1("1(Iterable.E)")._as(toElement), t1._eval$1("Iterable.E"), $T); }, map$1(_, toElement) { + toElement.toString; return this.map$1$1(0, toElement, type$.dynamic); }, contains$1(_, element) { @@ -17767,7 +17797,15 @@ return false; }, toList$1$growable(_, growable) { - return A.List_List$of(this, growable, A.instanceType(this)._eval$1("Iterable.E")); + var t1 = A.instanceType(this)._eval$1("Iterable.E"); + if (growable) + t1 = A.List_List$_of(this, t1); + else { + t1 = A.List_List$_of(this, t1); + t1.$flags = 1; + t1 = t1; + } + return t1; }, toList$0(_) { return this.toList$1$growable(0, true); @@ -17870,13 +17908,13 @@ call$2(msg, position) { throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position)); }, - $signature: 42 + $signature: 39 }; A.Uri_parseIPv6Address_error.prototype = { call$2(msg, position) { throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position)); }, - $signature: 49 + $signature: 42 }; A.Uri_parseIPv6Address_parseHex.prototype = { call$2(start, end) { @@ -17888,7 +17926,7 @@ this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start); return value; }, - $signature: 27 + $signature: 28 }; A._Uri.prototype = { get$_text() { @@ -17961,7 +17999,7 @@ var host = this._host; if (host == null) return ""; - if (B.JSString_methods.startsWith$1(host, "[")) + if (B.JSString_methods.startsWith$1(host, "[") && !B.JSString_methods.startsWith$2(host, "v", 1)) return B.JSString_methods.substring$2(host, 1, host.length - 1); return host; }, @@ -18527,11 +18565,10 @@ }; A.FutureOfJSAnyToJSPromise_get_toJS__closure0.prototype = { call$2(error, stackTrace) { - var t1, wrapper, box; + var wrapper, box, t1; type$.Object._as(error); type$.StackTrace._as(stackTrace); - t1 = type$.JSObject; - wrapper = A.JSFunctionUnsafeUtilExtension_callAsConstructor(type$.JavaScriptFunction._as(t1._as(self).Error), string$.Dart_e, t1); + wrapper = A.JSFunctionUnsafeUtilExtension_callAsConstructor(type$.JavaScriptFunction._as(init.G.Error), string$.Dart_e, type$.JSObject); if (type$.JavaScriptObject._is(error)) A.throwExpression("Attempting to box non-Dart object."); box = {}; @@ -18542,7 +18579,7 @@ t1.call(t1, wrapper); return wrapper; }, - $signature: 50 + $signature: 48 }; A.FutureOfVoidToJSPromise_get_toJS_closure.prototype = { call$2(resolve, reject) { @@ -18556,15 +18593,14 @@ var t1 = this.resolve; return t1.call(t1); }, - $signature: 61 + $signature: 50 }; A.FutureOfVoidToJSPromise_get_toJS__closure0.prototype = { call$2(error, stackTrace) { - var t1, wrapper, box; + var wrapper, box, t1; type$.Object._as(error); type$.StackTrace._as(stackTrace); - t1 = type$.JSObject; - wrapper = A.JSFunctionUnsafeUtilExtension_callAsConstructor(type$.JavaScriptFunction._as(t1._as(self).Error), string$.Dart_e, t1); + wrapper = A.JSFunctionUnsafeUtilExtension_callAsConstructor(type$.JavaScriptFunction._as(init.G.Error), string$.Dart_e, type$.JSObject); if (type$.JavaScriptObject._is(error)) A.throwExpression("Attempting to box non-Dart object."); box = {}; @@ -18677,10 +18713,44 @@ A._JSRandom.prototype = { nextInt$1(max) { if (max <= 0 || max > 4294967296) - throw A.wrapException(A.RangeError$("max must be in range 0 < max \u2264 2^32, was " + max)); + throw A.wrapException(A.RangeError$(string$.max_mu + max)); return Math.random() * max >>> 0; + } + }; + A._JSSecureRandom.prototype = { + _JSSecureRandom$0() { + var $crypto = self.crypto; + if ($crypto != null) + if ($crypto.getRandomValues != null) + return; + throw A.wrapException(A.UnsupportedError$("No source of cryptographically secure random numbers available.")); }, - $isRandom: 1 + nextInt$1(max) { + var byteCount, t1, start, randomLimit, t2, t3, random, result; + if (max <= 0 || max > 4294967296) + throw A.wrapException(A.RangeError$(string$.max_mu + max)); + if (max > 255) + if (max > 65535) + byteCount = max > 16777215 ? 4 : 3; + else + byteCount = 2; + else + byteCount = 1; + t1 = this._math$_buffer; + t1.$flags & 2 && A.throwUnsupportedOperation(t1, 11); + t1.setUint32(0, 0, false); + start = 4 - byteCount; + randomLimit = A._asInt(Math.pow(256, byteCount)); + for (t2 = max - 1, t3 = (max & t2) >>> 0 === 0; true;) { + crypto.getRandomValues(J.asUint8List$2$x(B.NativeByteData_methods.get$buffer(t1), start, byteCount)); + random = t1.getUint32(0, false); + if (t3) + return (random & t2) >>> 0; + result = random % max; + if (random - result + max < randomLimit) + return result; + } + } }; A.AsyncMemoizer.prototype = {}; A.DelegatingStreamSink.prototype = { @@ -18843,7 +18913,7 @@ call$2(h, i) { return A._combine(A._asInt(h), J.get$hashCode$(i)); }, - $signature: 63 + $signature: 61 }; A.BuiltList.prototype = { toBuilder$0() { @@ -18894,6 +18964,7 @@ return new A.MappedListIterable(t1, t2._bind$1($T)._eval$1("1(2)")._as(this.$ti._bind$1($T)._eval$1("1(2)")._as(f)), t2._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>")); }, map$1(_, f) { + f.toString; return this.map$1$1(0, f, type$.dynamic); }, contains$1(_, element) { @@ -18978,7 +19049,7 @@ t3 = t1._precomputed1; t4 = A._arrayInstanceType(t2); t5 = t4._eval$1("@<1>")._bind$1(t3)._eval$1("MappedListIterable<1,2>"); - result = A.List_List$of(new A.MappedListIterable(t2, t4._bind$1(t3)._eval$1("1(2)")._as(f), t5), true, t5._eval$1("ListIterable.E")); + result = A.List_List$_of(new A.MappedListIterable(t2, t4._bind$1(t3)._eval$1("1(2)")._as(f), t5), t5._eval$1("ListIterable.E")); _this._list$_maybeCheckElements$1(result); _this.__ListBuilder__list_A = t1._eval$1("List<1>")._as(result); _this._listOwner = null; @@ -19002,10 +19073,11 @@ t1 = _this._list_multimap$_map; t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeysIterable<1>"); t2 = A.MappedIterable_MappedIterable(new A.LinkedHashMapKeysIterable(t1, t2), t2._eval$1("int(Iterable.E)")._as(new A.BuiltListMultimap_hashCode_closure(_this)), t2._eval$1("Iterable.E"), type$.int); - t2 = A.List_List$of(t2, false, A._instanceType(t2)._eval$1("Iterable.E")); - B.JSArray_methods.sort$0(t2); - t2 = _this._list_multimap$_hashCode = A.hashObjects(t2); - t1 = t2; + t1 = A.List_List$_of(t2, A._instanceType(t2)._eval$1("Iterable.E")); + t1.$flags = 1; + t1 = t1; + B.JSArray_methods.sort$0(t1); + t1 = _this._list_multimap$_hashCode = A.hashObjects(t1); } return t1; }, @@ -19224,10 +19296,11 @@ t1 = _this._map$_map; t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeysIterable<1>"); t2 = A.MappedIterable_MappedIterable(new A.LinkedHashMapKeysIterable(t1, t2), t2._eval$1("int(Iterable.E)")._as(new A.BuiltMap_hashCode_closure(_this)), t2._eval$1("Iterable.E"), type$.int); - t2 = A.List_List$of(t2, false, A._instanceType(t2)._eval$1("Iterable.E")); - B.JSArray_methods.sort$0(t2); - t2 = _this._map$_hashCode = A.hashObjects(t2); - t1 = t2; + t1 = A.List_List$_of(t2, A._instanceType(t2)._eval$1("Iterable.E")); + t1.$flags = 1; + t1 = t1; + B.JSArray_methods.sort$0(t1); + t1 = _this._map$_hashCode = A.hashObjects(t1); } return t1; }, @@ -19393,7 +19466,7 @@ var t1 = this.$this.$ti; this.replacement.$indexSet(0, t1._precomputed1._as(key), t1._rest[1]._as(value)); }, - $signature: 30 + $signature: 31 }; A.BuiltSet.prototype = { get$hashCode(_) { @@ -19403,10 +19476,11 @@ t1 = _this._set$_set; t2 = A._instanceType(t1); t3 = t2._eval$1("EfficientLengthMappedIterable<1,int>"); - t3 = A.List_List$of(new A.EfficientLengthMappedIterable(t1, t2._eval$1("int(1)")._as(new A.BuiltSet_hashCode_closure(_this)), t3), false, t3._eval$1("Iterable.E")); - B.JSArray_methods.sort$0(t3); - t3 = _this._set$_hashCode = A.hashObjects(t3); - t1 = t3; + t1 = A.List_List$_of(new A.EfficientLengthMappedIterable(t1, t2._eval$1("int(1)")._as(new A.BuiltSet_hashCode_closure(_this)), t3), t3._eval$1("Iterable.E")); + t1.$flags = 1; + t1 = t1; + B.JSArray_methods.sort$0(t1); + t1 = _this._set$_hashCode = A.hashObjects(t1); } return t1; }, @@ -19441,6 +19515,7 @@ return new A.EfficientLengthMappedIterable(t1, t2._bind$1($T)._eval$1("1(2)")._as(this.$ti._bind$1($T)._eval$1("1(2)")._as(f)), t2._eval$1("@<1>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); }, map$1(_, f) { + f.toString; return this.map$1$1(0, f, type$.dynamic); }, contains$1(_, element) { @@ -19571,10 +19646,11 @@ t1 = _this._set_multimap$_map; t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeysIterable<1>"); t2 = A.MappedIterable_MappedIterable(new A.LinkedHashMapKeysIterable(t1, t2), t2._eval$1("int(Iterable.E)")._as(new A.BuiltSetMultimap_hashCode_closure(_this)), t2._eval$1("Iterable.E"), type$.int); - t2 = A.List_List$of(t2, false, A._instanceType(t2)._eval$1("Iterable.E")); - B.JSArray_methods.sort$0(t2); - t2 = _this._set_multimap$_hashCode = A.hashObjects(t2); - t1 = t2; + t1 = A.List_List$_of(t2, A._instanceType(t2)._eval$1("Iterable.E")); + t1.$flags = 1; + t1 = t1; + B.JSArray_methods.sort$0(t1); + t1 = _this._set_multimap$_hashCode = A.hashObjects(t1); } return t1; }, @@ -19771,7 +19847,7 @@ $._indentingBuiltValueToStringHelperIndent = $._indentingBuiltValueToStringHelperIndent + 2; return new A.IndentingBuiltValueToStringHelper(t1); }, - $signature: 66 + $signature: 63 }; A.IndentingBuiltValueToStringHelper.prototype = { add$2(_, field, value) { @@ -19904,21 +19980,21 @@ call$0() { return A.ListBuilder_ListBuilder(B.List_empty0, type$.Object); }, - $signature: 70 + $signature: 66 }; A.Serializers_Serializers_closure0.prototype = { call$0() { var t1 = type$.Object; return A.ListMultimapBuilder_ListMultimapBuilder(t1, t1); }, - $signature: 88 + $signature: 70 }; A.Serializers_Serializers_closure1.prototype = { call$0() { var t1 = type$.Object; return A.MapBuilder_MapBuilder(t1, t1); }, - $signature: 89 + $signature: 83 }; A.Serializers_Serializers_closure2.prototype = { call$0() { @@ -20257,7 +20333,8 @@ t5 = t4._list; t6 = A._arrayInstanceType(t5); t7 = t6._eval$1("MappedListIterable<1,Object?>"); - result.push(A.List_List$of(new A.MappedListIterable(t5, t6._eval$1("Object?(1)")._as(t4.$ti._eval$1("Object?(1)")._as(new A.BuiltListMultimapSerializer_serialize_closure(serializers, valueType))), t7), true, t7._eval$1("ListIterable.E"))); + t4 = A.List_List$_of(new A.MappedListIterable(t5, t6._eval$1("Object?(1)")._as(t4.$ti._eval$1("Object?(1)")._as(new A.BuiltListMultimapSerializer_serialize_closure(serializers, valueType))), t7), t7._eval$1("ListIterable.E")); + result.push(t4); } return result; }, @@ -20537,7 +20614,8 @@ t5 = t4._set$_set; t6 = A._instanceType(t5); t7 = t6._eval$1("EfficientLengthMappedIterable<1,Object?>"); - result.push(A.List_List$of(new A.EfficientLengthMappedIterable(t5, t6._eval$1("Object?(1)")._as(t4.$ti._eval$1("Object?(1)")._as(new A.BuiltSetMultimapSerializer_serialize_closure(serializers, valueType))), t7), true, t7._eval$1("Iterable.E"))); + t4 = A.List_List$_of(new A.EfficientLengthMappedIterable(t5, t6._eval$1("Object?(1)")._as(t4.$ti._eval$1("Object?(1)")._as(new A.BuiltSetMultimapSerializer_serialize_closure(serializers, valueType))), t7), t7._eval$1("Iterable.E")); + result.push(t4); } return result; }, @@ -21067,6 +21145,7 @@ }, map$1(_, transform) { var t1 = type$.dynamic; + transform.toString; return this.map$2$1(0, transform, t1, t1); }, toString$0(_) { @@ -21209,8 +21288,6 @@ count = counts.$index(0, e); if (count == null || count === 0) return false; - if (typeof count !== "number") - return count.$sub(); counts.$indexSet(0, e, count - 1); --$length; } @@ -21268,8 +21345,6 @@ count = equalElementCounts.$index(0, entry); if (count == null || count === 0) return false; - if (typeof count !== "number") - return count.$sub(); equalElementCounts.$indexSet(0, entry, count - 1); } return true; @@ -22951,6 +23026,199 @@ this._extension_request$_events = type$.nullable_ListBuilder_ExtensionEvent._as(_events); } }; + A.HotReloadRequest.prototype = {}; + A._$HotReloadRequestSerializer.prototype = { + serialize$3$specifiedType(serializers, object, specifiedType) { + return ["id", serializers.serialize$2$specifiedType(type$.HotReloadRequest._as(object).id, B.FullType_PT1)]; + }, + serialize$2(serializers, object) { + return this.serialize$3$specifiedType(serializers, object, B.FullType_null_List_empty_false); + }, + deserialize$3$specifiedType(serializers, serialized, specifiedType) { + var t1, value, $$v, _$result, t2, + _s16_ = "HotReloadRequest", + result = new A.HotReloadRequestBuilder(), + iterator = J.get$iterator$ax(type$.Iterable_nullable_Object._as(serialized)); + for (; iterator.moveNext$0();) { + t1 = iterator.get$current(); + t1.toString; + A._asString(t1); + iterator.moveNext$0(); + value = iterator.get$current(); + switch (t1) { + case "id": + t1 = serializers.deserialize$2$specifiedType(value, B.FullType_PT1); + t1.toString; + A._asString(t1); + $$v = result._hot_reload_request$_$v; + if ($$v != null) { + result._hot_reload_request$_id = $$v.id; + result._hot_reload_request$_$v = null; + } + result._hot_reload_request$_id = t1; + break; + } + } + _$result = result._hot_reload_request$_$v; + if (_$result == null) { + t1 = type$.String; + t2 = A.BuiltValueNullFieldError_checkNotNull(result.get$_hot_reload_request$_$this()._hot_reload_request$_id, _s16_, "id", t1); + _$result = new A._$HotReloadRequest(t2); + A.BuiltValueNullFieldError_checkNotNull(t2, _s16_, "id", t1); + } + A.ArgumentError_checkNotNull(_$result, "other", type$.HotReloadRequest); + return result._hot_reload_request$_$v = _$result; + }, + deserialize$2(serializers, serialized) { + return this.deserialize$3$specifiedType(serializers, serialized, B.FullType_null_List_empty_false); + }, + $isSerializer: 1, + $isStructuredSerializer: 1, + get$types() { + return B.List_dz9; + }, + get$wireName() { + return "HotReloadRequest"; + } + }; + A._$HotReloadRequest.prototype = { + $eq(_, other) { + if (other == null) + return false; + if (other === this) + return true; + return other instanceof A._$HotReloadRequest && this.id === other.id; + }, + get$hashCode(_) { + return A.$jf(A.$jc(0, B.JSString_methods.get$hashCode(this.id))); + }, + toString$0(_) { + var t1 = $.$get$newBuiltValueToStringHelper().call$1("HotReloadRequest"), + t2 = J.getInterceptor$ax(t1); + t2.add$2(t1, "id", this.id); + return t2.toString$0(t1); + } + }; + A.HotReloadRequestBuilder.prototype = { + get$_hot_reload_request$_$this() { + var _this = this, + $$v = _this._hot_reload_request$_$v; + if ($$v != null) { + _this._hot_reload_request$_id = $$v.id; + _this._hot_reload_request$_$v = null; + } + return _this; + } + }; + A.HotReloadResponse.prototype = {}; + A._$HotReloadResponseSerializer.prototype = { + serialize$3$specifiedType(serializers, object, specifiedType) { + var result, value; + type$.HotReloadResponse._as(object); + result = ["id", serializers.serialize$2$specifiedType(object.id, B.FullType_PT1), "success", serializers.serialize$2$specifiedType(object.success, B.FullType_R6B)]; + value = object.errorMessage; + if (value != null) { + result.push("error"); + result.push(serializers.serialize$2$specifiedType(value, B.FullType_PT1)); + } + return result; + }, + serialize$2(serializers, object) { + return this.serialize$3$specifiedType(serializers, object, B.FullType_null_List_empty_false); + }, + deserialize$3$specifiedType(serializers, serialized, specifiedType) { + var t1, value, + result = new A.HotReloadResponseBuilder(), + iterator = J.get$iterator$ax(type$.Iterable_nullable_Object._as(serialized)); + for (; iterator.moveNext$0();) { + t1 = iterator.get$current(); + t1.toString; + A._asString(t1); + iterator.moveNext$0(); + value = iterator.get$current(); + switch (t1) { + case "id": + t1 = serializers.deserialize$2$specifiedType(value, B.FullType_PT1); + t1.toString; + A._asString(t1); + result.get$_hot_reload_response$_$this()._hot_reload_response$_id = t1; + break; + case "success": + t1 = serializers.deserialize$2$specifiedType(value, B.FullType_R6B); + t1.toString; + A._asBool(t1); + result.get$_hot_reload_response$_$this()._hot_reload_response$_success = t1; + break; + case "error": + t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_PT1)); + result.get$_hot_reload_response$_$this()._errorMessage = t1; + break; + } + } + return result._hot_reload_response$_build$0(); + }, + deserialize$2(serializers, serialized) { + return this.deserialize$3$specifiedType(serializers, serialized, B.FullType_null_List_empty_false); + }, + $isSerializer: 1, + $isStructuredSerializer: 1, + get$types() { + return B.List_DqJ; + }, + get$wireName() { + return "HotReloadResponse"; + } + }; + A._$HotReloadResponse.prototype = { + $eq(_, other) { + var _this = this; + if (other == null) + return false; + if (other === _this) + return true; + return other instanceof A._$HotReloadResponse && _this.id === other.id && _this.success === other.success && _this.errorMessage == other.errorMessage; + }, + get$hashCode(_) { + return A.$jf(A.$jc(A.$jc(A.$jc(0, B.JSString_methods.get$hashCode(this.id)), B.JSBool_methods.get$hashCode(this.success)), J.get$hashCode$(this.errorMessage))); + }, + toString$0(_) { + var t1 = $.$get$newBuiltValueToStringHelper().call$1("HotReloadResponse"), + t2 = J.getInterceptor$ax(t1); + t2.add$2(t1, "id", this.id); + t2.add$2(t1, "success", this.success); + t2.add$2(t1, "errorMessage", this.errorMessage); + return t2.toString$0(t1); + } + }; + A.HotReloadResponseBuilder.prototype = { + get$_hot_reload_response$_$this() { + var _this = this, + $$v = _this._hot_reload_response$_$v; + if ($$v != null) { + _this._hot_reload_response$_id = $$v.id; + _this._hot_reload_response$_success = $$v.success; + _this._errorMessage = $$v.errorMessage; + _this._hot_reload_response$_$v = null; + } + return _this; + }, + _hot_reload_response$_build$0() { + var t1, t2, t3, t4, _this = this, + _s17_ = "HotReloadResponse", + _$result = _this._hot_reload_response$_$v; + if (_$result == null) { + t1 = type$.String; + t2 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_hot_reload_response$_$this()._hot_reload_response$_id, _s17_, "id", t1); + t3 = type$.bool; + t4 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_hot_reload_response$_$this()._hot_reload_response$_success, _s17_, "success", t3); + _$result = new A._$HotReloadResponse(t2, t4, _this.get$_hot_reload_response$_$this()._errorMessage); + A.BuiltValueNullFieldError_checkNotNull(t2, _s17_, "id", t1); + A.BuiltValueNullFieldError_checkNotNull(t4, _s17_, "success", t3); + } + A.ArgumentError_checkNotNull(_$result, "other", type$.HotReloadResponse); + return _this._hot_reload_response$_$v = _$result; + } + }; A.IsolateExit.prototype = {}; A.IsolateStart.prototype = {}; A._$IsolateExitSerializer.prototype = { @@ -23232,22 +23500,20 @@ t2 = $async$self._batchDelayMilliseconds, t3 = $async$self._outputController, t4 = A._instanceType(t3), t1 = t1._precomputed1, t5 = t4._precomputed1, t4 = t4._eval$1("_DelayedData<1>"); case 2: // for condition - $async$temp1 = A; $async$goto = 4; return A._asyncAwait($async$self._hasEventOrTimeOut$1(duration), $async$_batchAndSendEvents$0); case 4: // returning from await. - if (!$async$temp1.boolConversionCheck($async$result)) { + if (!$async$result) { // goto after for $async$goto = 3; break; } - $async$temp1 = A; $async$goto = 7; return A._asyncAwait($async$self._hasEventDuring$1(duration), $async$_batchAndSendEvents$0); case 7: // returning from await. - $async$goto = $async$temp1.boolConversionCheck($async$result) ? 5 : 6; + $async$goto = $async$result ? 5 : 6; break; case 5: // then @@ -23268,7 +23534,8 @@ lastSendTime0 = Date.now(); if (lastSendTime0 > lastSendTime + t2) { if (buffer.length !== 0) { - t6 = t5._as(A.List_List$of(buffer, true, t1)); + t6 = A.List_List$_of(buffer, t1); + t5._as(t6); t7 = t3._state; if (t7 >= 4) A.throwExpression(t3._badEventState$0()); @@ -23294,8 +23561,10 @@ break; case 3: // after for - if (buffer.length !== 0) - t3.add$1(0, t5._as(A.List_List$of(buffer, true, t1))); + if (buffer.length !== 0) { + t1 = A.List_List$_of(buffer, t1); + t3.add$1(0, t5._as(t1)); + } $async$self._completer.complete$1(true); // implicit return return A._asyncReturn(null, $async$completer); @@ -23318,13 +23587,13 @@ call$0() { return true; }, - $signature: 26 + $signature: 27 }; A.BatchedStreamController__hasEventDuring_closure.prototype = { call$0() { return false; }, - $signature: 26 + $signature: 27 }; A.SocketClient.prototype = {}; A.SseSocketClient.prototype = { @@ -23373,7 +23642,7 @@ type$.StackTrace._as(stackTrace); return $.$get$_logger().log$4(B.Level_WARNING_900, "Error in unawaited Future:", error, stackTrace); }, - $signature: 25 + $signature: 26 }; A.Int32.prototype = { _toInt$1(val) { @@ -23499,6 +23768,9 @@ A._StackState.prototype = {}; A.BaseClient.prototype = { _sendUnstreamed$3(method, url, headers) { + return this._sendUnstreamed$body$BaseClient(method, url, headers); + }, + _sendUnstreamed$body$BaseClient(method, url, headers) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Response), $async$returnValue, $async$self = this, request, $async$temp1; @@ -23559,6 +23831,9 @@ }; A.BrowserClient.prototype = { send$1(request) { + return this.send$body$BrowserClient(request); + }, + send$body$BrowserClient(request) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.StreamedResponse), $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$next = [], $async$self = this, xhr, completer, bytes, t1, t2, header, t3; @@ -23577,7 +23852,7 @@ case 3: // returning from await. bytes = $async$result; - xhr = type$.JSObject._as(new self.XMLHttpRequest()); + xhr = type$.JSObject._as(new init.G.XMLHttpRequest()); t1 = $async$self._xhrs; t1.add$1(0, xhr); t2 = xhr; @@ -23644,7 +23919,7 @@ t2 = !t2._nativeRegExp.test(_0_0); } if (t2) { - _this.completer.completeError$1(new A.ClientException("Invalid content-length header [" + A.S(_0_0) + "].", _this.request.url)); + _this.completer.completeError$1(new A.ClientException("Invalid content-length header [" + _0_0 + "].", _this.request.url)); return; } body = A.NativeUint8List_NativeUint8List$view(type$.NativeByteBuffer._as(t1.response), 0, null); @@ -23771,7 +24046,7 @@ scanner.expectDone$0(); return A.MediaType$(t4, t5, parameters); }, - $signature: 48 + $signature: 35 }; A.MediaType_toString_closure.prototype = { call$2(attribute, value) { @@ -23790,13 +24065,13 @@ } else t1._contents = t3 + value; }, - $signature: 34 + $signature: 49 }; A.MediaType_toString__closure.prototype = { call$1(match) { return "\\" + A.S(match.$index(0, 0)); }, - $signature: 28 + $signature: 29 }; A.expectQuotedString_closure.prototype = { call$1(match) { @@ -23804,7 +24079,7 @@ t1.toString; return t1; }, - $signature: 28 + $signature: 29 }; A.Level.prototype = { $eq(_, other) { @@ -23852,7 +24127,7 @@ var record, _this = this, t1 = logLevel.value; if (t1 >= _this.get$level().value) { - if (stackTrace == null && t1 >= 2000) { + if ((stackTrace == null || stackTrace === B._StringStackTrace_OdL) && t1 >= 2000) { A.StackTrace_current(); if (error == null) logLevel.toString$0(0); @@ -23953,7 +24228,8 @@ t1 = parsed.parts, t2 = A._arrayInstanceType(t1), t3 = t2._eval$1("WhereIterable<1>"); - parsed.set$parts(A.List_List$of(new A.WhereIterable(t1, t2._eval$1("bool(1)")._as(new A.Context_split_closure()), t3), true, t3._eval$1("Iterable.E"))); + t1 = A.List_List$_of(new A.WhereIterable(t1, t2._eval$1("bool(1)")._as(new A.Context_split_closure()), t3), t3._eval$1("Iterable.E")); + parsed.set$parts(t1); t1 = parsed.root; if (t1 != null) B.JSArray_methods.insert$2(parsed.parts, 0, t1); @@ -24205,10 +24481,8 @@ if (t2 == null || newParts.length === 0 || !t1.needsSeparator$1(t2)) B.JSArray_methods.$indexSet(_this.separators, 0, ""); t2 = _this.root; - if (t2 != null && t1 === $.$get$Style_windows()) { - t2.toString; + if (t2 != null && t1 === $.$get$Style_windows()) _this.root = A.stringReplaceAllUnchecked(t2, "/", "\\"); - } _this.removeTrailingSeparators$0(); }, toString$0(_) { @@ -25228,7 +25502,7 @@ t4 = B.JSString_methods.$mul("^", Math.max(endColumn + (tabsBefore + tabsInside) * 3 - startColumn, 1)); return (t2._contents += t4).length - t3.length; }, - $signature: 29 + $signature: 30 }; A.Highlighter__writeIndicator_closure0.prototype = { call$0() { @@ -25249,7 +25523,7 @@ t1._writeArrow$3$beginning(_this.line, Math.max(_this.highlight.span.get$end().get$column() - 1, 0), false); return t2._contents.length - t3.length; }, - $signature: 29 + $signature: 30 }; A.Highlighter__writeSidebar_closure.prototype = { call$0() { @@ -25274,16 +25548,16 @@ }; A._Highlight_closure.prototype = { call$0() { - var t2, t3, t4, t5, - t1 = this.span; - if (!(type$.SourceSpanWithContext._is(t1) && A.findLineStart(t1.get$context(), t1.get$text(), t1.get$start().get$column()) != null)) { - t2 = A.SourceLocation$(t1.get$start().get$offset(), 0, 0, t1.get$sourceUrl()); - t3 = t1.get$end().get$offset(); - t4 = t1.get$sourceUrl(); - t5 = A.countCodeUnits(t1.get$text(), 10); - t1 = A.SourceSpanWithContext$(t2, A.SourceLocation$(t3, A._Highlight__lastLineLength(t1.get$text()), t5, t4), t1.get$text(), t1.get$text()); + var t1, t2, t3, t4, + newSpan = this.span; + if (!(type$.SourceSpanWithContext._is(newSpan) && A.findLineStart(newSpan.get$context(), newSpan.get$text(), newSpan.get$start().get$column()) != null)) { + t1 = A.SourceLocation$(newSpan.get$start().get$offset(), 0, 0, newSpan.get$sourceUrl()); + t2 = newSpan.get$end().get$offset(); + t3 = newSpan.get$sourceUrl(); + t4 = A.countCodeUnits(newSpan.get$text(), 10); + newSpan = A.SourceSpanWithContext$(t1, A.SourceLocation$(t2, A._Highlight__lastLineLength(newSpan.get$text()), t4, t3), newSpan.get$text(), newSpan.get$text()); } - return A._Highlight__normalizeEndOfLine(A._Highlight__normalizeTrailingNewline(A._Highlight__normalizeNewlines(t1))); + return A._Highlight__normalizeEndOfLine(A._Highlight__normalizeTrailingNewline(A._Highlight__normalizeNewlines(newSpan))); }, $signature: 62 }; @@ -25476,7 +25750,7 @@ t1 = serverUrl + "?sseClientId=" + _this._clientId; _this.__SseClient__serverUrl_A = t1; t2 = type$.JSObject; - t1 = t2._as(new self.EventSource(t1, {withCredentials: true})); + t1 = t2._as(new init.G.EventSource(t1, {withCredentials: true})); _this.__SseClient__eventSource_A = t1; new A._EventStream(t1, "open", false, type$._EventStream_JSObject).get$first(0).whenComplete$1(new A.SseClient_closure(_this)); _this.__SseClient__eventSource_A.addEventListener("message", A._functionToJS1(_this.get$_onIncomingMessage())); @@ -25619,7 +25893,7 @@ t1 = {method: "POST", body: t1, credentials: "include"}; t2 = type$.JSObject; $async$goto = 6; - return A._asyncAwait(A.promiseToFuture(t2._as(t2._as(self.window).fetch(url, t1)), t2), $async$call$0); + return A._asyncAwait(A.promiseToFuture(t2._as(t2._as(init.G.window).fetch(url, t1)), t2), $async$call$0); case 6: // returning from await. $async$handler = 1; @@ -25666,19 +25940,19 @@ call$2(value, count) { return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(value, 16), count, "0"); }, - $signature: 31 + $signature: 32 }; A.generateUuidV4_bitsDigits.prototype = { call$2(bitCount, digitCount) { return this.printDigits.call$2(this.generateBits.call$1(bitCount), digitCount); }, - $signature: 31 + $signature: 32 }; A.GuaranteeChannel.prototype = { GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, _box_0, $T) { var _this = this, t1 = _this.$ti, - t2 = t1._eval$1("_GuaranteeSink<1>")._as(new A._GuaranteeSink(innerSink, _this, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_dynamic), type$._AsyncCompleter_dynamic), allowSinkErrors, $T._eval$1("_GuaranteeSink<0>"))); + t2 = t1._eval$1("_GuaranteeSink<1>")._as(new A._GuaranteeSink(innerSink, _this, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void), allowSinkErrors, $T._eval$1("_GuaranteeSink<0>"))); _this.__GuaranteeChannel__sink_F !== $ && A.throwLateFieldAI("_sink"); _this.__GuaranteeChannel__sink_F = t2; t1 = t1._eval$1("StreamController<1>")._as(A.StreamController_StreamController(null, new A.GuaranteeChannel_closure(_box_0, _this, $T), true, $T)); @@ -25851,30 +26125,30 @@ } }; A.RNG.prototype = {}; - A.MathRNG.prototype = { + A.CryptoRNG.prototype = { _generateInternal$0() { - var t1, i, k, t2, t3, + var i, k, t1, t2, b = new Uint8Array(16); - for (t1 = this._rnd, i = 0; i < 16; i += 4) { - k = t1.nextInt$1(B.JSNumber_methods.toInt$0(Math.pow(2, 32))); + for (i = 0; i < 16; i += 4) { + k = $.$get$CryptoRNG__secureRandom().nextInt$1(B.JSNumber_methods.toInt$0(Math.pow(2, 32))); if (!(i < 16)) return A.ioore(b, i); b[i] = k; - t2 = i + 1; - t3 = B.JSInt_methods._shrOtherPositive$1(k, 8); - if (!(t2 < 16)) - return A.ioore(b, t2); - b[t2] = t3; - t3 = i + 2; - t2 = B.JSInt_methods._shrOtherPositive$1(k, 16); - if (!(t3 < 16)) - return A.ioore(b, t3); - b[t3] = t2; - t2 = i + 3; - t3 = B.JSInt_methods._shrOtherPositive$1(k, 24); + t1 = i + 1; + t2 = B.JSInt_methods._shrOtherPositive$1(k, 8); + if (!(t1 < 16)) + return A.ioore(b, t1); + b[t1] = t2; + t2 = i + 2; + t1 = B.JSInt_methods._shrOtherPositive$1(k, 16); if (!(t2 < 16)) return A.ioore(b, t2); - b[t2] = t3; + b[t2] = t1; + t1 = i + 3; + t2 = B.JSInt_methods._shrOtherPositive$1(k, 24); + if (!(t1 < 16)) + return A.ioore(b, t1); + b[t1] = t2; } return b; } @@ -26377,7 +26651,7 @@ t1 === $ && A.throwLateFieldNI("_sink"); t1.close$0(); }, - $signature: 104 + $signature: 105 }; A._WebSocketSink.prototype = {$isWebSocketSink: 1}; A.WebSocketChannelException.prototype = { @@ -26402,7 +26676,7 @@ case 0: // Function start _box_0 = {}; - t1 = self; + t1 = init.G; if (A._asStringQ(t1.$dartAppInstanceId) == null) t1.$dartAppInstanceId = new A.UuidV1(null).generate$1$options(null); uri = A.Uri_parse(A._asString(t1.$dwdsDevHandlerPath)); @@ -26464,7 +26738,7 @@ t1.$emitDebugEvent = A._functionToJS2(new A.main__closure4(debugEventController)); t1.$emitRegisterEvent = A._functionToJS1(new A.main__closure5(client)); t1.$launchDevTools = A._functionToJS0(new A.main__closure6(client)); - client.get$stream().listen$2$onError(new A.main__closure7(manager), new A.main__closure8()); + client.get$stream().listen$2$onError(new A.main__closure7(manager, client), new A.main__closure8()); if (A._asBool(t1.$dwdsEnableDevToolsLaunch)) A._EventStreamSubscription$(t2._as(t1.window), "keydown", type$.nullable_void_Function_JSObject._as(new A.main__closure9()), false, t2); if (A._isChromium()) { @@ -26531,7 +26805,7 @@ call$1(events) { var t1, t2, t3; type$.List_DebugEvent._as(events); - if (A._asBool(self.$dartEmitDebugEvents)) { + if (A._asBool(init.G.$dartEmitDebugEvents)) { t1 = this.client.get$sink(); t2 = $.$get$serializers(); t3 = new A.BatchedDebugEventsBuilder(); @@ -26555,7 +26829,7 @@ var t1, t2; A._asString(kind); A._asString(eventData); - if (A._asBool(self.$dartEmitDebugEvents)) { + if (A._asBool(init.G.$dartEmitDebugEvents)) { t1 = this.debugEventController._inputController; t2 = new A.DebugEventBuilder(); type$.nullable_void_Function_DebugEventBuilder._as(new A.main___closure1(kind, eventData)).call$1(t2); @@ -26572,7 +26846,7 @@ b.get$_debug_event$_$this()._eventData = this.eventData; return b; }, - $signature: 103 + $signature: 75 }; A.main__closure5.prototype = { call$1(eventData) { @@ -26584,7 +26858,7 @@ type$.nullable_void_Function_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3); A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._register_event$_build$0()), null), type$.dynamic); }, - $signature: 76 + $signature: 90 }; A.main___closure0.prototype = { call$1(b) { @@ -26599,7 +26873,7 @@ call$0() { var t1, t2, t3; if (!A._isChromium()) { - type$.JSObject._as(self.window).alert("Dart DevTools is only supported on Chromium based browsers."); + type$.JSObject._as(init.G.window).alert("Dart DevTools is only supported on Chromium based browsers."); return; } t1 = this.client.get$sink(); @@ -26612,7 +26886,7 @@ }; A.main___closure.prototype = { call$1(b) { - var t1 = self, + var t1 = init.G, t2 = A._asString(t1.$dartAppId); b.get$_devtools_request$_$this()._devtools_request$_appId = t2; t1 = A._asStringQ(t1.$dartAppInstanceId); @@ -26628,7 +26902,7 @@ $call$body$main__closure(serialized) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $async$self = this, t1, t2, $alert, $event; + $async$self = this, t1, t2, $alert, t3, $event; var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -26641,7 +26915,7 @@ break; case 2: // then - t1 = self; + t1 = init.G; $async$goto = A._asString(t1.$dartReloadConfiguration) === "ReloadConfiguration.liveReload" ? 5 : 7; break; case 5: @@ -26690,20 +26964,61 @@ break; case 4: // else - if ($event instanceof A._$DevToolsResponse) { - if (!$event.success) { - $alert = "DevTools failed to open with:\n" + A.S($event.error); - t1 = $event.promptExtension && A._asBool(type$.JSObject._as(self.window).confirm($alert)); - t2 = type$.JSObject; - if (t1) - type$.nullable_JSObject._as(t2._as(self.window).open("https://dart.dev/to/web-debug-extension", "_blank")); - else - t2._as(self.window).alert($alert); - } - } else if ($event instanceof A._$RunRequest) - A.runMain(); - else if ($event instanceof A._$ErrorResponse) - type$.JSObject._as(self.window).reportError("Error from backend:\n\nError: " + $event.error + "\n\nStack Trace:\n" + $event.stackTrace); + $async$goto = $event instanceof A._$DevToolsResponse ? 16 : 18; + break; + case 16: + // then + if (!$event.success) { + $alert = "DevTools failed to open with:\n" + A.S($event.error); + t1 = $event.promptExtension && A._asBool(type$.JSObject._as(init.G.window).confirm($alert)); + t2 = init.G; + t3 = type$.JSObject; + if (t1) + type$.nullable_JSObject._as(t3._as(t2.window).open("https://dart.dev/to/web-debug-extension", "_blank")); + else + t3._as(t2.window).alert($alert); + } + // goto join + $async$goto = 17; + break; + case 18: + // else + $async$goto = $event instanceof A._$RunRequest ? 19 : 21; + break; + case 19: + // then + A.runMain(); + // goto join + $async$goto = 20; + break; + case 21: + // else + $async$goto = $event instanceof A._$ErrorResponse ? 22 : 24; + break; + case 22: + // then + type$.JSObject._as(init.G.window).reportError("Error from backend:\n\nError: " + $event.error + "\n\nStack Trace:\n" + $event.stackTrace); + // goto join + $async$goto = 23; + break; + case 24: + // else + $async$goto = $event instanceof A._$HotReloadRequest ? 25 : 26; + break; + case 25: + // then + $async$goto = 27; + return A._asyncAwait(A.handleWebSocketHotReloadRequest($event, $async$self.manager, $async$self.client.get$sink()), $async$call$1); + case 27: + // returning from await. + case 26: + // join + case 23: + // join + case 20: + // join + case 17: + // join case 3: // join // implicit return @@ -26725,14 +27040,14 @@ if (t1) if (B.JSArray_methods.contains$1(B.List_fAJ, A._asString(e.key)) && A._asBool(e.altKey) && !A._asBool(e.ctrlKey) && !A._asBool(e.metaKey)) { e.preventDefault(); - type$.JavaScriptFunction._as(self.$launchDevTools).call(); + type$.JavaScriptFunction._as(init.G.$launchDevTools).call(); } }, $signature: 2 }; A.main__closure10.prototype = { call$1(b) { - var t1 = self, + var t1 = init.G, t2 = A._asString(t1.$dartAppId); b.get$_connect_request$_$this()._appId = t2; t2 = A._asStringQ(t1.$dartAppInstanceId); @@ -26754,7 +27069,7 @@ A._launchCommunicationWithDebugExtension_closure.prototype = { call$1(b) { var t3, t4, - t1 = self, + t1 = init.G, t2 = A._asString(t1.$dartEntrypointPath); b.get$_$this()._appEntrypointPath = t2; t2 = type$.JavaScriptObject; @@ -26787,6 +27102,25 @@ }, $signature: 82 }; + A.handleWebSocketHotReloadRequest_closure.prototype = { + call$1(b) { + b.get$_hot_reload_response$_$this()._hot_reload_response$_id = this.requestId; + b.get$_hot_reload_response$_$this()._hot_reload_response$_success = true; + return b; + }, + $signature: 34 + }; + A.handleWebSocketHotReloadRequest_closure0.prototype = { + call$1(b) { + var t1; + b.get$_hot_reload_response$_$this()._hot_reload_response$_id = this.requestId; + b.get$_hot_reload_response$_$this()._hot_reload_response$_success = false; + t1 = J.toString$0$(this.e); + b.get$_hot_reload_response$_$this()._errorMessage = t1; + return b; + }, + $signature: 34 + }; A.DdcLibraryBundleRestarter.prototype = { restart$2$readyToRunMain$runId(readyToRunMain, runId) { var $async$goto = 0, @@ -26799,7 +27133,7 @@ switch ($async$goto) { case 0: // Function start - t1 = self; + t1 = init.G; t2 = type$.JSObject; $async$goto = 3; return A._asyncAwait(A._Debugger_maybeInvokeFlutterDisassemble(t2._as(t2._as(t1.dartDevEmbedder).debugger)), $async$restart$2$readyToRunMain$runId); @@ -26838,7 +27172,7 @@ // Function start t1 = type$.JSObject; $async$goto = 2; - return A._asyncAwait(A.promiseToFuture(t1._as(t1._as(self.dartDevEmbedder).hotReload($async$self.get$_sourcesAndLibrariesToReload()._1, $async$self.get$_sourcesAndLibrariesToReload()._0)), type$.nullable_Object), $async$reload$0); + return A._asyncAwait(A.promiseToFuture(t1._as(t1._as(init.G.dartDevEmbedder).hotReload($async$self.get$_sourcesAndLibrariesToReload()._1, $async$self.get$_sourcesAndLibrariesToReload()._0)), type$.nullable_Object), $async$reload$0); case 2: // returning from await. $async$self.__DdcLibraryBundleRestarter__sourcesAndLibrariesToReload_A = null; @@ -26849,6 +27183,9 @@ return A._asyncStartSync($async$reload$0, $async$completer); }, fetchLibrariesForHotReload$1(hotReloadSourcesPath) { + return this.fetchLibrariesForHotReload$body$DdcLibraryBundleRestarter(hotReloadSourcesPath); + }, + fetchLibrariesForHotReload$body$DdcLibraryBundleRestarter(hotReloadSourcesPath) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.JSArray_nullable_Object), $async$returnValue, $async$self = this, t3, srcLibraries, filesToLoad, librariesToReload, t4, srcLibraryCast, t5, t1, t2, xhr, $async$temp1, $async$temp2, $async$temp3; @@ -26860,7 +27197,7 @@ case 0: // Function start t1 = new A._Future($.Zone__current, type$._Future_String); - t2 = self; + t2 = init.G; xhr = type$.JSObject._as(new t2.XMLHttpRequest()); xhr.withCredentials = true; xhr.onreadystatechange = A._functionToJS0(new A.DdcLibraryBundleRestarter_fetchLibrariesForHotReload_closure(xhr, new A._AsyncCompleter(t1, type$._AsyncCompleter_String))); @@ -26918,7 +27255,7 @@ switch ($async$goto) { case 0: // Function start - t1 = self; + t1 = init.G; t2 = type$.JavaScriptObject._as(t1.dart_library); t3 = readyToRunMain == null ? null : A.FutureOfVoidToJSPromise_get_toJS(readyToRunMain); t2.reload(runId, t3); @@ -26958,7 +27295,7 @@ this.sub.cancel$0(); return value; }, - $signature: 83 + $signature: 84 }; A.ReloadingManager.prototype = { hotRestart$2$readyToRunMain$runId(readyToRunMain, runId) { @@ -27046,7 +27383,7 @@ switch ($async$goto) { case 0: // Function start - t1 = self; + t1 = init.G; t2 = type$.JavaScriptObject; $async$goto = 3; return A._asyncAwait(A.SdkDeveloperExtension_maybeInvokeFlutterDisassemble(t2._as(t2._as(t1.$loadModuleConfig("dart_sdk")).developer)), $async$restart$2$readyToRunMain$runId); @@ -27162,7 +27499,7 @@ case 0: // Function start $async$goto = 3; - return A._asyncAwait(new A.BrowserClient(A.LinkedHashSet_LinkedHashSet$_empty(type$.JSObject))._sendUnstreamed$3("GET", A.Uri_parse(A._asString(type$.JavaScriptObject._as(self.$requireLoader).digestsPath)), null), $async$_getDigests$0); + return A._asyncAwait(new A.BrowserClient(A.LinkedHashSet_LinkedHashSet$_empty(type$.JSObject))._sendUnstreamed$3("GET", A.Uri_parse(A._asString(type$.JavaScriptObject._as(init.G.$requireLoader).digestsPath)), null), $async$_getDigests$0); case 3: // returning from await. response = $async$result; @@ -27205,12 +27542,12 @@ var t1; A._asString(module); t1 = type$.JavaScriptObject; - t1 = type$.nullable_JSArray_nullable_Object._as(t1._as(t1._as(self.$requireLoader).moduleParentsGraph).get(module)); + t1 = type$.nullable_JSArray_nullable_Object._as(t1._as(t1._as(init.G.$requireLoader).moduleParentsGraph).get(module)); if (t1 == null) t1 = null; else { t1 = A.JSArrayExtension_toDartIterable(t1, type$.String); - t1 = A.List_List$of(t1, true, t1.$ti._eval$1("ListIterable.E")); + t1 = A.List_List$_of(t1, t1.$ti._eval$1("ListIterable.E")); } return t1 == null ? A._setArrayType([], type$.JSArray_String) : t1; }, @@ -27247,7 +27584,7 @@ switch ($async$goto) { case 0: // Function start - t1 = self; + t1 = init.G; t2 = type$.JavaScriptObject; dart = t2._as(t2._as(t1.$loadModuleConfig("dart_sdk")).dart); t3 = $async$self._running.future; @@ -27293,7 +27630,7 @@ parentIds0 = null; else { t8 = A.JSArrayExtension_toDartIterable(t9, t4); - t8 = A.List_List$of(t8, true, t8.$ti._eval$1("ListIterable.E")); + t8 = A.List_List$_of(t8, t8.$ti._eval$1("ListIterable.E")); parentIds0 = t8; } parentIds = parentIds0 == null ? A._setArrayType([], t6) : parentIds0; @@ -27385,12 +27722,12 @@ var t1 = new A._Future($.Zone__current, type$._Future_dynamic), completer = new A._AsyncCompleter(t1, type$._AsyncCompleter_dynamic), stackTrace = A.StackTrace_current(); - type$.JavaScriptObject._as(self.$requireLoader).forceLoadModule(moduleId, A._functionToJS0(new A.RequireRestarter__reloadModule_closure(completer)), A._functionToJS1(new A.RequireRestarter__reloadModule_closure0(completer, stackTrace))); + type$.JavaScriptObject._as(init.G.$requireLoader).forceLoadModule(moduleId, A._functionToJS0(new A.RequireRestarter__reloadModule_closure(completer)), A._functionToJS1(new A.RequireRestarter__reloadModule_closure0(completer, stackTrace))); return t1; }, _updateGraph$0() { var t3, stronglyConnectedComponents, i, _i, - t1 = self, + t1 = init.G, t2 = type$.JavaScriptObject; t2 = t2._as(t2._as(t1.$requireLoader).moduleParentsGraph); t3 = type$.String; @@ -27409,7 +27746,7 @@ A.RequireRestarter__reload_closure.prototype = { call$0() { var t1 = type$.JSObject._as(this.dart.getModuleLibraries(this._box_0.previousModuleId)); - t1 = A.JSArrayExtension_toDartIterable(type$.JSArray_nullable_Object._as(self.Object.values(t1)), type$.nullable_Object).get$first(0); + t1 = A.JSArrayExtension_toDartIterable(type$.JSArray_nullable_Object._as(init.G.Object.values(t1)), type$.nullable_Object).get$first(0); t1.toString; type$.JavaScriptObject._as(t1).main(); }, @@ -27425,7 +27762,7 @@ call$1(e) { this.completer.completeError$2(new A.HotReloadFailedException(A._asString(type$.JavaScriptObject._as(e).message)), this.stackTrace); }, - $signature: 86 + $signature: 87 }; A._createScript_closure.prototype = { call$0() { @@ -27434,19 +27771,19 @@ return new A._createScript__closure(); return new A._createScript__closure0(nonce); }, - $signature: 87 + $signature: 88 }; A._createScript__closure.prototype = { call$0() { var t1 = type$.JSObject; - return t1._as(t1._as(self.document).createElement("script")); + return t1._as(t1._as(init.G.document).createElement("script")); }, $signature: 11 }; A._createScript__closure0.prototype = { call$0() { var t1 = type$.JSObject, - scriptElement = t1._as(t1._as(self.document).createElement("script")); + scriptElement = t1._as(t1._as(init.G.document).createElement("script")); scriptElement.setAttribute("nonce", this.nonce); return scriptElement; }, @@ -27499,7 +27836,7 @@ _instance_1_i = hunkHelpers._instance_1i, _instance_0_u = hunkHelpers._instance_0u, _instance_1_u = hunkHelpers._instance_1u; - _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 33); + _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 21); _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 12); _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 12); _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 12); @@ -27507,33 +27844,38 @@ _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 8); _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 13); _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0); - _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 90, 0); + _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 91, 0); _static(A, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) { + f.toString; return A._rootRun($self, $parent, zone, f, type$.dynamic); - }], 91, 0); + }], 92, 0); _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) { var t1 = type$.dynamic; + f.toString; return A._rootRunUnary($self, $parent, zone, f, arg, t1, t1); - }], 92, 0); - _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6"], ["_rootRunBinary"], 93, 0); + }], 93, 0); + _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6"], ["_rootRunBinary"], 94, 0); _static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) { + f.toString; return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic); - }], 94, 0); + }], 95, 0); _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) { var t1 = type$.dynamic; + f.toString; return A._rootRegisterUnaryCallback($self, $parent, zone, f, t1, t1); - }], 95, 0); + }], 96, 0); _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) { var t1 = type$.dynamic; + f.toString; return A._rootRegisterBinaryCallback($self, $parent, zone, f, t1, t1, t1); - }], 96, 0); - _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 97, 0); - _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 98, 0); - _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 99, 0); - _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 100, 0); - _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 101, 0); - _static_1(A, "async___printToZone$closure", "_printToZone", 102); - _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 75, 0); + }], 97, 0); + _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 98, 0); + _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 99, 0); + _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 100, 0); + _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 101, 0); + _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 102, 0); + _static_1(A, "async___printToZone$closure", "_printToZone", 103); + _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 76, 0); _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 24, 0, 0); _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 13); var _; @@ -27547,11 +27889,11 @@ _instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); _instance_1_u(_, "get$_handleData", "_handleData$1", 9); - _instance_2_u(_, "get$_handleError", "_handleError$2", 25); + _instance_2_u(_, "get$_handleError", "_handleError$2", 26); _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0); _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 17); _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 18); - _static_2(A, "collection_ListBase__compareAny$closure", "ListBase__compareAny", 33); + _static_2(A, "collection_ListBase__compareAny$closure", "ListBase__compareAny", 21); _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 4); _instance_1_i(_ = A._ByteCallbackSink.prototype, "get$add", "add$1", 9); _instance_0_u(_, "get$close", "close$0", 0); @@ -27559,6 +27901,8 @@ _static_2(A, "core__identical$closure", "identical", 17); _static_1(A, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 15); _static(A, "math__max$closure", 2, null, ["call$1$2", "call$2"], ["max", function(a, b) { + a.toString; + b.toString; return A.max(a, b, type$.num); }], 69, 0); _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 17); @@ -27570,15 +27914,15 @@ _instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0); _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 64); _static_1(A, "client___handleAuthRequest$closure", "_handleAuthRequest", 2); - _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 84); - _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 85); + _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 85); + _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 86); })(); (function inheritance() { var _mixin = hunkHelpers.mixin, _inherit = hunkHelpers.inherit, _inheritMany = hunkHelpers.inheritMany; _inherit(A.Object, null); - _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.ListBase, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.ExpandIterator, A.TakeIterator, A.SkipIterator, A.EmptyIterator, A.WhereTypeIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A._Record, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.LinkedHashMapValueIterator, A.LinkedHashMapEntryIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A.TimeoutException, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._DoneStreamSubscription, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A.MapView, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A.ByteConversionSink, A._JsonStringifier, A._Utf8Encoder, A._Utf8Decoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.MapEntry, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.NullRejectionException, A._JSRandom, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int32Serializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.CanonicalizedMap, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int32, A.Int64, A._StackState, A.BaseClient, A.BaseRequest, A.BaseResponse, A.ClientException, A.MediaType, A.Level, A.LogRecord, A.Logger, A.Context, A.Style, A.ParsedPath, A.PathException, A.Pool, A.PoolResource, A.SourceFile, A.SourceLocationMixin, A.SourceSpanMixin, A.Highlighter, A._Highlight, A._Line, A.SourceLocation, A.SourceSpanException, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.StringScanner, A.RNG, A.UuidV1, A.EventStreamProvider, A._EventStreamSubscription, A.BrowserWebSocket, A.WebSocketEvent, A.WebSocketException, A.WebSocketChannelException, A.DdcLibraryBundleRestarter, A.DdcRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]); + _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.ListBase, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.ExpandIterator, A.TakeIterator, A.SkipIterator, A.EmptyIterator, A.WhereTypeIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A._Record, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.LinkedHashMapValueIterator, A.LinkedHashMapEntryIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A._UnmodifiableNativeByteBufferView, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A.TimeoutException, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._DoneStreamSubscription, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A.MapView, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A.ByteConversionSink, A._JsonStringifier, A._Utf8Encoder, A._Utf8Decoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.MapEntry, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.NullRejectionException, A._JSRandom, A._JSSecureRandom, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int32Serializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.CanonicalizedMap, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.HotReloadRequest, A._$HotReloadRequestSerializer, A.HotReloadRequestBuilder, A.HotReloadResponse, A._$HotReloadResponseSerializer, A.HotReloadResponseBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int32, A.Int64, A._StackState, A.BaseClient, A.BaseRequest, A.BaseResponse, A.ClientException, A.MediaType, A.Level, A.LogRecord, A.Logger, A.Context, A.Style, A.ParsedPath, A.PathException, A.Pool, A.PoolResource, A.SourceFile, A.SourceLocationMixin, A.SourceSpanMixin, A.Highlighter, A._Highlight, A._Line, A.SourceLocation, A.SourceSpanException, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.StringScanner, A.RNG, A.UuidV1, A.EventStreamProvider, A._EventStreamSubscription, A.BrowserWebSocket, A.WebSocketEvent, A.WebSocketException, A.WebSocketChannelException, A.DdcLibraryBundleRestarter, A.DdcRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]); _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JavaScriptBigInt, J.JavaScriptSymbol, J.JSNumber, J.JSString]); _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData]); _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction]); @@ -27588,11 +27932,11 @@ _inheritMany(A._CastIterableBase, [A.CastIterable, A.__CastListBase__CastIterableBase_ListMixin]); _inherit(A._EfficientLengthCastIterable, A.CastIterable); _inherit(A._CastListBase, A.__CastListBase__CastIterableBase_ListMixin); - _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.Instantiation, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A._LinkedCustomHashMap_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A.FutureOfJSAnyToJSPromise_get_toJS__closure, A.FutureOfVoidToJSPromise_get_toJS__closure, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.CanonicalizedMap_keys_closure, A.WebSocketClient_stream_closure, A.BaseRequest_closure0, A.BrowserClient_send_closure, A.BrowserClient_send_closure0, A.ByteStream_toBytes_closure, A.MediaType_toString__closure, A.expectQuotedString_closure, A.Context_joinAll_closure, A.Context_split_closure, A._validateArgList_closure, A.Pool__runOnRelease_closure, A.Highlighter$__closure, A.Highlighter$___closure, A.Highlighter$__closure0, A.Highlighter__collateLines_closure, A.Highlighter__collateLines_closure1, A.Highlighter__collateLines__closure, A.Highlighter_highlight_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.BrowserWebSocket_connect_closure, A.BrowserWebSocket_connect_closure0, A.BrowserWebSocket_connect_closure1, A.BrowserWebSocket_connect_closure2, A.AdapterWebSocketChannel_closure, A.AdapterWebSocketChannel__closure, A.AdapterWebSocketChannel__closure0, A.AdapterWebSocketChannel_closure0, A.main__closure1, A.main__closure3, A.main___closure2, A.main___closure1, A.main__closure5, A.main___closure0, A.main___closure, A.main__closure7, A.main__closure8, A.main__closure9, A.main__closure10, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.DdcRestarter_restart_closure0, A.DdcRestarter_restart_closure, A.RequireRestarter__reloadModule_closure0, A.JSArrayExtension_toDartIterable_closure]); + _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.Instantiation, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A._LinkedCustomHashMap_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A.FutureOfJSAnyToJSPromise_get_toJS__closure, A.FutureOfVoidToJSPromise_get_toJS__closure, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.CanonicalizedMap_keys_closure, A.WebSocketClient_stream_closure, A.BaseRequest_closure0, A.BrowserClient_send_closure, A.BrowserClient_send_closure0, A.ByteStream_toBytes_closure, A.MediaType_toString__closure, A.expectQuotedString_closure, A.Context_joinAll_closure, A.Context_split_closure, A._validateArgList_closure, A.Pool__runOnRelease_closure, A.Highlighter$__closure, A.Highlighter$___closure, A.Highlighter$__closure0, A.Highlighter__collateLines_closure, A.Highlighter__collateLines_closure1, A.Highlighter__collateLines__closure, A.Highlighter_highlight_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.BrowserWebSocket_connect_closure, A.BrowserWebSocket_connect_closure0, A.BrowserWebSocket_connect_closure1, A.BrowserWebSocket_connect_closure2, A.AdapterWebSocketChannel_closure, A.AdapterWebSocketChannel__closure, A.AdapterWebSocketChannel__closure0, A.AdapterWebSocketChannel_closure0, A.main__closure1, A.main__closure3, A.main___closure2, A.main___closure1, A.main__closure5, A.main___closure0, A.main___closure, A.main__closure7, A.main__closure8, A.main__closure9, A.main__closure10, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.handleWebSocketHotReloadRequest_closure, A.handleWebSocketHotReloadRequest_closure0, A.DdcRestarter_restart_closure0, A.DdcRestarter_restart_closure, A.RequireRestarter__reloadModule_closure0, A.JSArrayExtension_toDartIterable_closure]); _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A.FutureOfJSAnyToJSPromise_get_toJS_closure, A.FutureOfJSAnyToJSPromise_get_toJS__closure0, A.FutureOfVoidToJSPromise_get_toJS_closure, A.FutureOfVoidToJSPromise_get_toJS__closure0, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.CanonicalizedMap_addAll_closure, A.CanonicalizedMap_forEach_closure, A.CanonicalizedMap_map_closure, A.safeUnawaited_closure, A.BaseRequest_closure, A.MediaType_toString_closure, A.Pool__runOnRelease_closure0, A.Highlighter__collateLines_closure0, A.generateUuidV4_printDigits, A.generateUuidV4_bitsDigits, A.main__closure4, A.main_closure0]); _inherit(A.CastList, A._CastListBase); _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap]); - _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.JsonUnsupportedObjectError, A.ArgumentError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError, A.BuiltValueNullFieldError, A.BuiltValueNestedFieldError, A.DeserializationError]); + _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A.RuntimeError, A._Error, A.JsonUnsupportedObjectError, A.AssertionError, A.ArgumentError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError, A.BuiltValueNullFieldError, A.BuiltValueNestedFieldError, A.DeserializationError]); _inherit(A.UnmodifiableListBase, A.ListBase); _inheritMany(A.UnmodifiableListBase, [A.CodeUnits, A.UnmodifiableListView]); _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainCoreFuture_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteErrorObject_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A._Utf8Decoder__decoder_closure, A._Utf8Decoder__decoderNonfatal_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.MediaType_MediaType$parse_closure, A.Logger_Logger_closure, A.Highlighter_closure, A.Highlighter__writeFileStart_closure, A.Highlighter__writeMultilineHighlights_closure, A.Highlighter__writeMultilineHighlights_closure0, A.Highlighter__writeMultilineHighlights_closure1, A.Highlighter__writeMultilineHighlights_closure2, A.Highlighter__writeMultilineHighlights__closure, A.Highlighter__writeMultilineHighlights__closure0, A.Highlighter__writeHighlightedText_closure, A.Highlighter__writeIndicator_closure, A.Highlighter__writeIndicator_closure0, A.Highlighter__writeIndicator_closure1, A.Highlighter__writeSidebar_closure, A._Highlight_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.AdapterWebSocketChannel__closure1, A.main_closure, A.main__closure, A.main__closure0, A.main__closure2, A.main__closure6, A.DdcLibraryBundleRestarter_fetchLibrariesForHotReload_closure, A.RequireRestarter__reload_closure, A.RequireRestarter__reloadModule_closure, A._createScript_closure, A._createScript__closure, A._createScript__closure0, A.runMain_closure]); @@ -27607,7 +27951,6 @@ _inherit(A.Instantiation1, A.Instantiation); _inherit(A.NullError, A.TypeError); _inheritMany(A.TearOffClosure, [A.StaticClosure, A.BoundClosure]); - _inherit(A._AssertionError, A.AssertionError); _inheritMany(A.JsLinkedHashMap, [A.JsIdentityLinkedHashMap, A._LinkedCustomHashMap]); _inheritMany(A.NativeTypedData, [A.NativeByteData, A.NativeTypedArray]); _inheritMany(A.NativeTypedArray, [A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin]); @@ -27668,6 +28011,8 @@ _inherit(A._$ExtensionResponse, A.ExtensionResponse); _inherit(A._$ExtensionEvent, A.ExtensionEvent); _inherit(A._$BatchedEvents, A.BatchedEvents); + _inherit(A._$HotReloadRequest, A.HotReloadRequest); + _inherit(A._$HotReloadResponse, A.HotReloadResponse); _inherit(A._$IsolateExit, A.IsolateExit); _inherit(A._$IsolateStart, A.IsolateStart); _inherit(A._$RegisterEvent, A.RegisterEvent); @@ -27687,7 +28032,7 @@ _inherit(A.SourceSpanWithContext, A.SourceSpanBase); _inheritMany(A.StreamChannelMixin, [A.SseClient, A.GuaranteeChannel, A.AdapterWebSocketChannel]); _inherit(A.StringScannerException, A.SourceSpanFormatException); - _inherit(A.MathRNG, A.RNG); + _inherit(A.CryptoRNG, A.RNG); _inheritMany(A.WebSocketEvent, [A.TextDataReceived, A.BinaryDataReceived, A.CloseReceived]); _inherit(A.WebSocketConnectionClosed, A.WebSocketException); _inherit(A._WebSocketSink, A.DelegatingStreamSink); @@ -27705,10 +28050,11 @@ _mixin(A._QueueList_Object_ListMixin, A.ListBase); })(); var init = { + G: typeof self != "undefined" ? self : globalThis, typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []}, mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map"}, mangledNames: {}, - types: ["~()", "Null()", "~(JSObject)", "Object?(@)", "@(@)", "Null(Object,StackTrace)", "Null(@)", "Null(JSObject)", "~(@)", "~(Object?)", "Object?(Object?)", "JSObject()", "~(~())", "~(Object,StackTrace)", "bool(Object?)", "String(String)", "Future<~>()", "bool(Object?,Object?)", "int(Object?)", "bool(_Highlight)", "bool(String)", "@()", "int(int)", "Null(JavaScriptFunction,JavaScriptFunction)", "~(Object[StackTrace?])", "~(@,StackTrace)", "bool()", "int(int,int)", "String(Match)", "int()", "~(@,@)", "String(int,int)", "~(Object?,Object?)", "int(@,@)", "~(String,String)", "@(String)", "SetMultimapBuilder()", "@(@,String)", "Null(~())", "~(int,@)", "ListBuilder()", "ListBuilder()", "~(String,int)", "String(@)", "bool(String,String)", "int(String)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "~(List)", "MediaType()", "~(String,int?)", "JSObject(Object,StackTrace)", "Logger()", "SetBuilder()", "String(String?)", "String?()", "int(_Line)", "Null(@,StackTrace)", "Object(_Line)", "Object(_Highlight)", "int(_Highlight,_Highlight)", "List<_Line>(MapEntry>)", "Object?(~)", "SourceSpanWithContext()", "int(int,@)", "~(String?)", "Future()", "IndentingBuiltValueToStringHelper(String)", "Null(WebSocket)", "~(WebSocketEvent)", "0^(0^,0^)", "ListBuilder()", "JSObject(String[bool?])", "~(List)", "ListBuilder(BatchedDebugEventsBuilder)", "Null(String,String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "Null(String)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "~(bool)", "bool(bool)", "List(String)", "int(String,String)", "Null(JavaScriptObject)", "JSObject()()", "ListMultimapBuilder()", "MapBuilder()", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "~(String)", "DebugEventBuilder(DebugEventBuilder)", "Null(Object)"], + types: ["~()", "Null()", "~(JSObject)", "Object?(@)", "@(@)", "Null(Object,StackTrace)", "Null(@)", "Null(JSObject)", "~(@)", "~(Object?)", "Object?(Object?)", "JSObject()", "~(~())", "~(Object,StackTrace)", "bool(Object?)", "String(String)", "Future<~>()", "bool(Object?,Object?)", "int(Object?)", "bool(_Highlight)", "bool(String)", "int(@,@)", "int(int)", "Null(JavaScriptFunction,JavaScriptFunction)", "~(Object[StackTrace?])", "@()", "~(@,StackTrace)", "bool()", "int(int,int)", "String(Match)", "int()", "~(@,@)", "String(int,int)", "~(Object?,Object?)", "~(HotReloadResponseBuilder)", "MediaType()", "SetMultimapBuilder()", "@(@,String)", "Null(~())", "~(String,int)", "ListBuilder()", "ListBuilder()", "~(String,int?)", "String(@)", "bool(String,String)", "int(String)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "~(List)", "JSObject(Object,StackTrace)", "~(String,String)", "Object?(~)", "Logger()", "SetBuilder()", "String(String?)", "String?()", "int(_Line)", "Null(@,StackTrace)", "Object(_Line)", "Object(_Highlight)", "int(_Highlight,_Highlight)", "List<_Line>(MapEntry>)", "int(int,@)", "SourceSpanWithContext()", "IndentingBuiltValueToStringHelper(String)", "~(String?)", "Future()", "ListBuilder()", "Null(WebSocket)", "~(WebSocketEvent)", "0^(0^,0^)", "ListMultimapBuilder()", "JSObject(String[bool?])", "~(List)", "ListBuilder(BatchedDebugEventsBuilder)", "Null(String,String)", "DebugEventBuilder(DebugEventBuilder)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "~(bool)", "MapBuilder()", "bool(bool)", "List(String)", "int(String,String)", "Null(JavaScriptObject)", "JSObject()()", "~(int,@)", "Null(String)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "~(String)", "@(String)", "Null(Object)"], interceptorsByTag: null, leafTags: null, arrayRti: Symbol("$ti"), @@ -27716,7 +28062,7 @@ "2;libraries,sources": (t1, t2) => o => o instanceof A._Record_2_libraries_sources && t1._is(o._0) && t2._is(o._1) } }; - A._Universe_addRules(init.typeUniverse, JSON.parse('{"JavaScriptFunction":"LegacyJavaScriptObject","PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptObject":{"JSObject":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"],"Iterable.E":"1"},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"JSIndexable":["@"],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"CodeUnits":{"ListBase":["int"],"UnmodifiableListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListBase.E":"int","Iterable.E":"int","UnmodifiableListMixin.E":"int"},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"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"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"ExpandIterable":{"Iterable":["2"],"Iterable.E":"2"},"ExpandIterator":{"Iterator":["2"]},"TakeIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthTakeIterable":{"TakeIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"TakeIterator":{"Iterator":["1"]},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"WhereTypeIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereTypeIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_Record_2_libraries_sources":{"_Record2":[],"_Record":[]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"Instantiation":{"Closure":[],"Function":[]},"Instantiation1":{"Closure":[],"Function":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"NullThrownFromJavaScriptException":{"Exception":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Closure":[],"Function":[]},"Closure2Args":{"Closure":[],"Function":[]},"TearOffClosure":{"Closure":[],"Function":[]},"StaticClosure":{"Closure":[],"Function":[]},"BoundClosure":{"Closure":[],"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeysIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"LinkedHashMapValuesIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapValueIterator":{"Iterator":["1"]},"LinkedHashMapEntriesIterable":{"EfficientLengthIterable":["MapEntry<1,2>"],"Iterable":["MapEntry<1,2>"],"Iterable.E":"MapEntry<1,2>"},"LinkedHashMapEntryIterator":{"Iterator":["MapEntry<1,2>"]},"JsIdentityLinkedHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_Record2":{"_Record":[]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"JSIndexable":["1"]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"Float32List":[],"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double","FixedLengthListMixin.E":"double"},"NativeFloat64List":{"Float64List":[],"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double","FixedLengthListMixin.E":"double"},"NativeInt16List":{"NativeTypedArrayOfInt":[],"Int16List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeInt32List":{"NativeTypedArrayOfInt":[],"Int32List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeInt8List":{"NativeTypedArrayOfInt":[],"Int8List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint16List":{"NativeTypedArrayOfInt":[],"Uint16List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint32List":{"NativeTypedArrayOfInt":[],"Uint32List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8ClampedList":{"NativeTypedArrayOfInt":[],"Uint8ClampedList":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8List":{"NativeTypedArrayOfInt":[],"Uint8List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_Future":{"Future":["1"]},"StreamView":{"Stream":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["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"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_DoneStreamSubscription":{"StreamSubscription":["1"]},"_EmptyStream":{"Stream":["1"],"Stream.T":"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"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.K":"1","_SplayTreeNode.1":"_SplayTreeSetNode<1>"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"Encoding":{"Codec":["String","List"]},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"AsciiCodec":{"Encoding":[],"Codec":["String","List"],"Codec.S":"String"},"_UnicodeSubsetEncoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"AsciiEncoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"_UnicodeSubsetDecoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"AsciiDecoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Base64Decoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Converter":{"StreamTransformer":["1","2"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Latin1Codec":{"Encoding":[],"Codec":["String","List"],"Codec.S":"String"},"Latin1Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Latin1Decoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Utf8Codec":{"Encoding":[],"Codec":["String","List"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Utf8Decoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_Exception":{"Exception":[]},"FormatException":{"Exception":[]},"IntegerDivisionByZeroException":{"Exception":[],"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"NullRejectionException":{"Exception":[]},"_JSRandom":{"Random":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"CanonicalizedMap":{"Map":["2","3"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1","Iterable.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2","Iterable.E":"2"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"ByteStream":{"StreamView":["List"],"Stream":["List"],"Stream.T":"List","StreamView.T":"List"},"ClientException":{"Exception":[]},"Request":{"BaseRequest":[]},"StreamedResponseV2":{"StreamedResponse":[]},"CaseInsensitiveMap":{"CanonicalizedMap":["String","String","1"],"Map":["String","1"],"CanonicalizedMap.K":"String","CanonicalizedMap.V":"1","CanonicalizedMap.C":"String"},"Level":{"Comparable":["Level"]},"PathException":{"Exception":[]},"PosixStyle":{"InternalStyle":[]},"UrlStyle":{"InternalStyle":[]},"WindowsStyle":{"InternalStyle":[]},"FileLocation":{"SourceLocation":[],"Comparable":["SourceLocation"]},"_FileSpan":{"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceLocation":{"Comparable":["SourceLocation"]},"SourceLocationMixin":{"SourceLocation":[],"Comparable":["SourceLocation"]},"SourceSpan":{"Comparable":["SourceSpan"]},"SourceSpanBase":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanException":{"Exception":[]},"SourceSpanFormatException":{"FormatException":[],"Exception":[]},"SourceSpanMixin":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanWithContext":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"StringScannerException":{"FormatException":[],"Exception":[]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"BrowserWebSocket":{"WebSocket":[]},"TextDataReceived":{"WebSocketEvent":[]},"BinaryDataReceived":{"WebSocketEvent":[]},"CloseReceived":{"WebSocketEvent":[]},"WebSocketException":{"Exception":[]},"WebSocketConnectionClosed":{"Exception":[]},"AdapterWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_WebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannelException":{"Exception":[]},"DdcLibraryBundleRestarter":{"Restarter":[]},"DdcRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"HotReloadFailedException":{"Exception":[]},"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"]}}')); + A._Universe_addRules(init.typeUniverse, JSON.parse('{"JavaScriptFunction":"LegacyJavaScriptObject","PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptObject":{"JSObject":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"],"Iterable.E":"1"},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"JSIndexable":["@"],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"CodeUnits":{"ListBase":["int"],"UnmodifiableListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListBase.E":"int","Iterable.E":"int","UnmodifiableListMixin.E":"int"},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"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"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"ExpandIterable":{"Iterable":["2"],"Iterable.E":"2"},"ExpandIterator":{"Iterator":["2"]},"TakeIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthTakeIterable":{"TakeIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"TakeIterator":{"Iterator":["1"]},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"WhereTypeIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereTypeIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_Record_2_libraries_sources":{"_Record2":[],"_Record":[]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"Instantiation":{"Closure":[],"Function":[]},"Instantiation1":{"Closure":[],"Function":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"NullThrownFromJavaScriptException":{"Exception":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Closure":[],"Function":[]},"Closure2Args":{"Closure":[],"Function":[]},"TearOffClosure":{"Closure":[],"Function":[]},"StaticClosure":{"Closure":[],"Function":[]},"BoundClosure":{"Closure":[],"Function":[]},"RuntimeError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeysIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"LinkedHashMapValuesIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapValueIterator":{"Iterator":["1"]},"LinkedHashMapEntriesIterable":{"EfficientLengthIterable":["MapEntry<1,2>"],"Iterable":["MapEntry<1,2>"],"Iterable.E":"MapEntry<1,2>"},"LinkedHashMapEntryIterator":{"Iterator":["MapEntry<1,2>"]},"JsIdentityLinkedHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_Record2":{"_Record":[]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[]},"_UnmodifiableNativeByteBufferView":{"ByteBuffer":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"JSIndexable":["1"]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"Float32List":[],"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double","FixedLengthListMixin.E":"double"},"NativeFloat64List":{"Float64List":[],"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double","FixedLengthListMixin.E":"double"},"NativeInt16List":{"NativeTypedArrayOfInt":[],"Int16List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeInt32List":{"NativeTypedArrayOfInt":[],"Int32List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeInt8List":{"NativeTypedArrayOfInt":[],"Int8List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint16List":{"NativeTypedArrayOfInt":[],"Uint16List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint32List":{"NativeTypedArrayOfInt":[],"Uint32List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8ClampedList":{"NativeTypedArrayOfInt":[],"Uint8ClampedList":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8List":{"NativeTypedArrayOfInt":[],"Uint8List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_Future":{"Future":["1"]},"StreamView":{"Stream":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["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"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_DoneStreamSubscription":{"StreamSubscription":["1"]},"_EmptyStream":{"Stream":["1"],"Stream.T":"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"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.K":"1","_SplayTreeNode.1":"_SplayTreeSetNode<1>"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"Encoding":{"Codec":["String","List"]},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"AsciiCodec":{"Encoding":[],"Codec":["String","List"],"Codec.S":"String"},"_UnicodeSubsetEncoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"AsciiEncoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"_UnicodeSubsetDecoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"AsciiDecoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Base64Decoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Converter":{"StreamTransformer":["1","2"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Latin1Codec":{"Encoding":[],"Codec":["String","List"],"Codec.S":"String"},"Latin1Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Latin1Decoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Utf8Codec":{"Encoding":[],"Codec":["String","List"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Utf8Decoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_Exception":{"Exception":[]},"FormatException":{"Exception":[]},"IntegerDivisionByZeroException":{"Exception":[],"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"NullRejectionException":{"Exception":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"CanonicalizedMap":{"Map":["2","3"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1","Iterable.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2","Iterable.E":"2"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$HotReloadRequestSerializer":{"StructuredSerializer":["HotReloadRequest"],"Serializer":["HotReloadRequest"]},"_$HotReloadRequest":{"HotReloadRequest":[]},"_$HotReloadResponseSerializer":{"StructuredSerializer":["HotReloadResponse"],"Serializer":["HotReloadResponse"]},"_$HotReloadResponse":{"HotReloadResponse":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"ByteStream":{"StreamView":["List"],"Stream":["List"],"Stream.T":"List","StreamView.T":"List"},"ClientException":{"Exception":[]},"Request":{"BaseRequest":[]},"StreamedResponseV2":{"StreamedResponse":[]},"CaseInsensitiveMap":{"CanonicalizedMap":["String","String","1"],"Map":["String","1"],"CanonicalizedMap.K":"String","CanonicalizedMap.V":"1","CanonicalizedMap.C":"String"},"Level":{"Comparable":["Level"]},"PathException":{"Exception":[]},"PosixStyle":{"InternalStyle":[]},"UrlStyle":{"InternalStyle":[]},"WindowsStyle":{"InternalStyle":[]},"FileLocation":{"SourceLocation":[],"Comparable":["SourceLocation"]},"_FileSpan":{"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceLocation":{"Comparable":["SourceLocation"]},"SourceLocationMixin":{"SourceLocation":[],"Comparable":["SourceLocation"]},"SourceSpan":{"Comparable":["SourceSpan"]},"SourceSpanBase":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanException":{"Exception":[]},"SourceSpanFormatException":{"FormatException":[],"Exception":[]},"SourceSpanMixin":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanWithContext":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"StringScannerException":{"FormatException":[],"Exception":[]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"BrowserWebSocket":{"WebSocket":[]},"TextDataReceived":{"WebSocketEvent":[]},"BinaryDataReceived":{"WebSocketEvent":[]},"CloseReceived":{"WebSocketEvent":[]},"WebSocketException":{"Exception":[]},"WebSocketConnectionClosed":{"Exception":[]},"AdapterWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_WebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannelException":{"Exception":[]},"DdcLibraryBundleRestarter":{"Restarter":[]},"DdcRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"HotReloadFailedException":{"Exception":[]},"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"]}}')); A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"_DelayedEvent":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}')); var string$ = { x00_____: "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\u03f6\x00\u0404\u03f4 \u03f4\u03f6\u01f6\u01f6\u03f6\u03fc\u01f4\u03ff\u03ff\u0584\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u05d4\u01f4\x00\u01f4\x00\u0504\u05c4\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u0400\x00\u0400\u0200\u03f7\u0200\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u0200\u0200\u0200\u03f7\x00", @@ -27729,6 +28075,7 @@ Error_: "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type", Hot_reA: "Hot reload is not supported for the AMD module format.", Hot_reD: "Hot reload is not supported for the DDC module format.", + max_mu: "max must be in range 0 < max \u2264 2^32, was ", serial: "serializer must be StructuredSerializer or PrimitiveSerializer" }; var type$ = (function rtii() { @@ -27775,8 +28122,9 @@ FormatException: findType("FormatException"), FullType: findType("FullType"), Function: findType("Function"), - Future_dynamic: findType("Future<@>"), Future_void: findType("Future<~>"), + HotReloadRequest: findType("HotReloadRequest"), + HotReloadResponse: findType("HotReloadResponse"), Int16List: findType("Int16List"), Int32: findType("Int32"), Int32List: findType("Int32List"), @@ -27918,8 +28266,6 @@ dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"), dynamic_Function_String: findType("@(String)"), int: findType("int"), - legacy_Never: findType("0&*"), - legacy_Object: findType("Object*"), nullable_Future_Null: findType("Future?"), nullable_JSArray_nullable_Object: findType("JSArray?"), nullable_JSObject: findType("JSObject?"), @@ -27949,6 +28295,7 @@ nullable_void_Function_DebugEventBuilder: findType("~(DebugEventBuilder)?"), nullable_void_Function_DebugInfoBuilder: findType("~(DebugInfoBuilder)?"), nullable_void_Function_DevToolsRequestBuilder: findType("~(DevToolsRequestBuilder)?"), + nullable_void_Function_HotReloadResponseBuilder: findType("~(HotReloadResponseBuilder)?"), nullable_void_Function_JSObject: findType("~(JSObject)?"), nullable_void_Function_RegisterEventBuilder: findType("~(RegisterEventBuilder)?"), num: findType("num"), @@ -27971,6 +28318,7 @@ B.JSString_methods = J.JSString.prototype; B.JavaScriptFunction_methods = J.JavaScriptFunction.prototype; B.JavaScriptObject_methods = J.JavaScriptObject.prototype; + B.NativeByteData_methods = A.NativeByteData.prototype; B.NativeUint32List_methods = A.NativeUint32List.prototype; B.NativeUint8List_methods = A.NativeUint8List.prototype; B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; @@ -28175,6 +28523,9 @@ B.Type_ErrorResponse_WMn = A.typeLiteral("ErrorResponse"); B.Type__$ErrorResponse_9Ps = A.typeLiteral("_$ErrorResponse"); B.List_5LV = A._setArrayType(makeConstList([B.Type_ErrorResponse_WMn, B.Type__$ErrorResponse_9Ps]), type$.JSArray_Type); + B.Type_HotReloadResponse_Gqc = A.typeLiteral("HotReloadResponse"); + B.Type__$HotReloadResponse_56g = A.typeLiteral("_$HotReloadResponse"); + B.List_DqJ = A._setArrayType(makeConstList([B.Type_HotReloadResponse_Gqc, B.Type__$HotReloadResponse_56g]), type$.JSArray_Type); B.Type_RegisterEvent_0Yw = A.typeLiteral("RegisterEvent"); B.Type__$RegisterEvent_Ks1 = A.typeLiteral("_$RegisterEvent"); B.List_EMv = A._setArrayType(makeConstList([B.Type_RegisterEvent_0Yw, B.Type__$RegisterEvent_Ks1]), type$.JSArray_Type); @@ -28201,6 +28552,9 @@ B.Type__$BatchedDebugEvents_LFV = A.typeLiteral("_$BatchedDebugEvents"); B.List_WAE = A._setArrayType(makeConstList([B.Type_BatchedDebugEvents_v7B, B.Type__$BatchedDebugEvents_LFV]), type$.JSArray_Type); B.List_ZNA = A._setArrayType(makeConstList([0, 0, 1048576, 531441, 1048576, 390625, 279936, 823543, 262144, 531441, 1000000, 161051, 248832, 371293, 537824, 759375, 1048576, 83521, 104976, 130321, 160000, 194481, 234256, 279841, 331776, 390625, 456976, 531441, 614656, 707281, 810000, 923521, 1048576, 35937, 39304, 42875, 46656]), type$.JSArray_int); + B.Type_HotReloadRequest_EsW = A.typeLiteral("HotReloadRequest"); + B.Type__$HotReloadRequest_ynq = A.typeLiteral("_$HotReloadRequest"); + B.List_dz9 = A._setArrayType(makeConstList([B.Type_HotReloadRequest_EsW, B.Type__$HotReloadRequest_ynq]), type$.JSArray_Type); B.List_empty = A._setArrayType(makeConstList([]), type$.JSArray_String); B.List_empty0 = A._setArrayType(makeConstList([]), type$.JSArray_dynamic); B.List_fAJ = A._setArrayType(makeConstList(["d", "D", "\u2202", "\xce"]), type$.JSArray_String); @@ -28375,6 +28729,11 @@ _lazyFinal($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", () => A.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", true, false)); _lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_A4p)); _lazyFinal($, "_jsBoxedDartObjectProperty", "$get$_jsBoxedDartObjectProperty", () => Symbol("jsBoxedDartObjectProperty")); + _lazyFinal($, "Random__secureRandom", "$get$Random__secureRandom", () => { + var t1 = new A._JSSecureRandom(new DataView(new ArrayBuffer(A._checkLength(8)))); + t1._JSSecureRandom$0(); + return t1; + }); _lazyFinal($, "isSoundMode", "$get$isSoundMode", () => !type$.List_int._is(A._setArrayType([], A.findType("JSArray")))); _lazy($, "newBuiltValueToStringHelper", "$get$newBuiltValueToStringHelper", () => new A.newBuiltValueToStringHelper_closure()); _lazyFinal($, "_runtimeType", "$get$_runtimeType", () => A.getRuntimeTypeOfDartObject(A.RegExp_RegExp("", true, false))); @@ -28391,6 +28750,8 @@ _lazy($, "_$extensionResponseSerializer", "$get$_$extensionResponseSerializer", () => new A._$ExtensionResponseSerializer()); _lazy($, "_$extensionEventSerializer", "$get$_$extensionEventSerializer", () => new A._$ExtensionEventSerializer()); _lazy($, "_$batchedEventsSerializer", "$get$_$batchedEventsSerializer", () => new A._$BatchedEventsSerializer()); + _lazy($, "_$hotReloadRequestSerializer", "$get$_$hotReloadRequestSerializer", () => new A._$HotReloadRequestSerializer()); + _lazy($, "_$hotReloadResponseSerializer", "$get$_$hotReloadResponseSerializer", () => new A._$HotReloadResponseSerializer()); _lazy($, "_$isolateExitSerializer", "$get$_$isolateExitSerializer", () => new A._$IsolateExitSerializer()); _lazy($, "_$isolateStartSerializer", "$get$_$isolateStartSerializer", () => new A._$IsolateStartSerializer()); _lazy($, "_$registerEventSerializer", "$get$_$registerEventSerializer", () => new A._$RegisterEventSerializer()); @@ -28412,6 +28773,8 @@ t1.add$1(0, $.$get$_$extensionEventSerializer()); t1.add$1(0, $.$get$_$extensionRequestSerializer()); t1.add$1(0, $.$get$_$extensionResponseSerializer()); + t1.add$1(0, $.$get$_$hotReloadRequestSerializer()); + t1.add$1(0, $.$get$_$hotReloadResponseSerializer()); t1.add$1(0, $.$get$_$isolateExitSerializer()); t1.add$1(0, $.$get$_$isolateStartSerializer()); t1.add$1(0, $.$get$_$registerEventSerializer()); @@ -28426,7 +28789,7 @@ _lazyFinal($, "_escapedChar", "$get$_escapedChar", () => A.RegExp_RegExp('["\\x00-\\x1F\\x7F]', true, false)); _lazyFinal($, "token", "$get$token", () => A.RegExp_RegExp('[^()<>@,;:"\\\\/[\\]?={} \\t\\x00-\\x1F\\x7F]+', true, false)); _lazyFinal($, "_lws", "$get$_lws", () => A.RegExp_RegExp("(?:\\r\\n)?[ \\t]+", true, false)); - _lazyFinal($, "_quotedString", "$get$_quotedString", () => A.RegExp_RegExp('"(?:[^"\\x00-\\x1F\\x7F]|\\\\.)*"', true, false)); + _lazyFinal($, "_quotedString", "$get$_quotedString", () => A.RegExp_RegExp('"(?:[^"\\x00-\\x1F\\x7F\\\\]|\\\\.)*"', true, false)); _lazyFinal($, "_quotedPair", "$get$_quotedPair", () => A.RegExp_RegExp("\\\\(.)", true, false)); _lazyFinal($, "nonToken", "$get$nonToken", () => A.RegExp_RegExp('[()<>@,;:"\\\\/\\[\\]?={} \\t\\x00-\\x1F\\x7F]', true, false)); _lazyFinal($, "whitespace", "$get$whitespace", () => A.RegExp_RegExp("(?:" + $.$get$_lws().pattern + ")*", true, false)); @@ -28445,10 +28808,7 @@ t4 = A.Completer_Completer(type$.dynamic); return new A.Pool(t2, t3, t1, 1000, new A.AsyncMemoizer(t4, A.findType("AsyncMemoizer<@>"))); }); - _lazy($, "V1State_random", "$get$V1State_random", () => { - var t1 = A.Random_Random(null); - return new A.MathRNG(t1); - }); + _lazy($, "V1State_random", "$get$V1State_random", () => new A.CryptoRNG()); _lazyFinal($, "UuidParsing__byteToHex", "$get$UuidParsing__byteToHex", () => { var i, _list = J.JSArray_JSArray$allocateGrowable(256, type$.String); @@ -28456,6 +28816,7 @@ _list[i] = B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(i, 16), 2, "0"); return _list; }); + _lazyFinal($, "CryptoRNG__secureRandom", "$get$CryptoRNG__secureRandom", () => $.$get$Random__secureRandom()); _lazyFinal($, "_noncePattern", "$get$_noncePattern", () => A.RegExp_RegExp("^[\\w+/_-]+[=]{0,2}$", true, false)); _lazyFinal($, "_createScript", "$get$_createScript", () => new A._createScript_closure().call$0()); })(); @@ -28492,15 +28853,15 @@ A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; A.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView"; })(); - Function.prototype.call$0 = function() { - return this(); - }; Function.prototype.call$1 = function(a) { return this(a); }; Function.prototype.call$2 = function(a, b) { return this(a, b); }; + Function.prototype.call$0 = function() { + return this(); + }; Function.prototype.call$1$1 = function(a) { return this(a); }; diff --git a/dwds/lib/src/services/chrome_proxy_service.dart b/dwds/lib/src/services/chrome_proxy_service.dart index 88b6f0eb7..71b7338f8 100644 --- a/dwds/lib/src/services/chrome_proxy_service.dart +++ b/dwds/lib/src/services/chrome_proxy_service.dart @@ -7,6 +7,8 @@ import 'dart:convert'; import 'dart:io'; import 'package:dwds/data/debug_event.dart'; +import 'package:dwds/data/hot_reload_request.dart'; +import 'package:dwds/data/hot_reload_response.dart'; import 'package:dwds/data/register_event.dart'; import 'package:dwds/src/config/tool_configuration.dart'; import 'package:dwds/src/connections/app_connection.dart'; @@ -32,8 +34,13 @@ import 'package:vm_service/vm_service.dart' hide vmServiceVersion; import 'package:vm_service_interface/vm_service_interface.dart'; import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart'; +/// Defines callbacks for sending messages to the connected client application. +typedef SendClientRequest = void Function(Object request); + /// A proxy from the chrome debug protocol to the dart vm service protocol. class ChromeProxyService implements VmServiceInterface { + final bool useWebSocket; + /// Cache of all existing StreamControllers. /// /// These are all created through [onEvent]. @@ -127,6 +134,13 @@ class ChromeProxyService implements VmServiceInterface { bool terminatingIsolates = false; + /// Callback function to send messages to the connected client application. + final SendClientRequest sendClientRequest; + + /// Pending hot reload requests waiting for a response from the client. + /// Keyed by the request ID. + final _pendingHotReloads = >{}; + ChromeProxyService._( this._vm, this.root, @@ -137,7 +151,9 @@ class ChromeProxyService implements VmServiceInterface { this._skipLists, this.executionContext, this._compiler, - ) { + this.sendClientRequest, { + this.useWebSocket = false, + }) { final debugger = Debugger.create( remoteDebugger, _streamNotify, @@ -155,7 +171,9 @@ class ChromeProxyService implements VmServiceInterface { AppConnection appConnection, ExecutionContext executionContext, ExpressionCompiler? expressionCompiler, - ) async { + SendClientRequest sendClientRequest, { + bool useWebSocket = false, + }) async { final vm = VM( name: 'ChromeDebugProxy', operatingSystem: Platform.operatingSystem, @@ -184,11 +202,31 @@ class ChromeProxyService implements VmServiceInterface { skipLists, executionContext, expressionCompiler, + sendClientRequest, + useWebSocket: useWebSocket, ); safeUnawaited(service.createIsolate(appConnection)); return service; } + /// Completes the hot reload completer associated with the response ID. + void completeHotReload(HotReloadResponse response) { + final completer = _pendingHotReloads.remove(response.id); + if (completer != null) { + if (response.success) { + completer.complete(response); + } else { + completer.completeError( + response.errorMessage ?? 'Unknown client error during hot reload', + ); + } + } else { + _logger.warning( + 'Received hot reload response for unknown request: ${response.id}', + ); + } + } + /// Initializes metadata in [Locations], [Modules], and [ExpressionCompiler]. void _initializeEntrypoint(String entrypoint) { _locations.initialize(entrypoint); @@ -1121,26 +1159,12 @@ class ChromeProxyService implements VmServiceInterface { {'message': error}, ], }; - try { - // Fetch the needed sources and libraries, disable breakpoints on the - // changed libraries, and then reload. - // TODO(srujzs): Re-map the breakpoints appropriately using events to - // trigger the client to re-register the breakpoints on the new sources. - // https://github.com/dart-lang/sdk/issues/60186 - _logger.info('Issuing \$fetchLibrariesForHotReload request'); - final librariesRemoteObject = await inspector.jsEvaluate( - '\$fetchLibrariesForHotReload();', - awaitPromise: true, - returnByValue: true, - ); - _logger.info('\$fetchLibrariesForHotReload request complete.'); - final libraries = - (librariesRemoteObject.value as List).toSet().cast(); - await disableBreakpoints(libraries: libraries); - _logger.info('Issuing \$dartHotReloadDwds request'); - await inspector.jsEvaluate('\$dartHotReloadDwds();', awaitPromise: true); - _logger.info('\$dartHotReloadDwds request complete.'); + if (useWebSocket) { + await _performWebSocketHotReload(); + } else { + await _performClientSideHotReload(); + } } catch (e) { _logger.info('Hot reload failed: $e'); return getFailedReloadReport(e.toString()); @@ -1149,6 +1173,55 @@ class ChromeProxyService implements VmServiceInterface { return _ReloadReportWithMetadata(success: true); } + /// Performs a client-side hot reload by fetching libraries, disabling breakpoints, and invoking the reload. + Future _performClientSideHotReload() async { + // Fetch the needed sources and libraries, disable breakpoints on the + // changed libraries, and then reload. + // TODO(srujzs): Re-map the breakpoints appropriately using events to + // trigger the client to re-register the breakpoints on the new sources. + // https://github.com/dart-lang/sdk/issues/60186 + _logger.info('Issuing \$fetchLibrariesForHotReload request'); + final librariesRemoteObject = await inspector.jsEvaluate( + '\$fetchLibrariesForHotReload();', + awaitPromise: true, + returnByValue: true, + ); + _logger.info('\$fetchLibrariesForHotReload request complete.'); + final libraries = + (librariesRemoteObject.value as List).toSet().cast(); + await disableBreakpoints(libraries: libraries); + _logger.info('Issuing \$dartHotReloadDwds request'); + await inspector.jsEvaluate('\$dartHotReloadDwds();', awaitPromise: true); + _logger.info('\$dartHotReloadDwds request complete.'); + } + + /// Performs a WebSocket-based hot reload by sending a request and waiting for a response. + Future _performWebSocketHotReload() async { + final requestId = createId(); + final completer = Completer(); + _pendingHotReloads[requestId] = completer; + const timeout = Duration(seconds: 10); + + _logger.info('Issuing HotReloadRequest with ID ($requestId) to client.'); + sendClientRequest(HotReloadRequest((b) => b.id = requestId)); + + final response = await completer.future.timeout( + timeout, + onTimeout: + () => + throw TimeoutException( + 'Client did not respond to hot reload request', + timeout, + ), + ); + + if (!response.success) { + throw Exception( + response.errorMessage ?? 'Client reported hot reload failure.', + ); + } + } + @override Future removeBreakpoint(String isolateId, String breakpointId) => wrapInErrorHandlerAsync( diff --git a/dwds/lib/src/services/debug_service.dart b/dwds/lib/src/services/debug_service.dart index 34202ad09..ac90a0e17 100644 --- a/dwds/lib/src/services/debug_service.dart +++ b/dwds/lib/src/services/debug_service.dart @@ -231,6 +231,7 @@ class DebugService { int? ddsPort, bool useSse = false, ExpressionCompiler? expressionCompiler, + required SendClientRequest sendClientRequest, }) async { final root = assetReader.basePath; final chromeProxyService = await ChromeProxyService.create( @@ -240,6 +241,7 @@ class DebugService { appConnection, executionContext, expressionCompiler, + sendClientRequest, ); final authToken = _makeAuthToken(); final serviceExtensionRegistry = ServiceExtensionRegistry(); diff --git a/dwds/pubspec.yaml b/dwds/pubspec.yaml index 18f4ee4c3..cb5775821 100644 --- a/dwds/pubspec.yaml +++ b/dwds/pubspec.yaml @@ -1,6 +1,7 @@ name: dwds # Every time this changes you need to run `dart run build_runner build`. version: 24.3.11-wip + description: >- A service that proxies between the Chrome debug protocol and the Dart VM service protocol. diff --git a/dwds/web/client.dart b/dwds/web/client.dart index dd5fb8e7b..8face86c4 100644 --- a/dwds/web/client.dart +++ b/dwds/web/client.dart @@ -14,6 +14,8 @@ import 'package:dwds/data/debug_info.dart'; import 'package:dwds/data/devtools_request.dart'; import 'package:dwds/data/error_response.dart'; import 'package:dwds/data/extension_request.dart'; +import 'package:dwds/data/hot_reload_request.dart'; +import 'package:dwds/data/hot_reload_response.dart'; import 'package:dwds/data/register_event.dart'; import 'package:dwds/data/run_request.dart'; import 'package:dwds/data/serializers.dart'; @@ -206,6 +208,8 @@ Future? main() { 'Stack Trace:\n${event.stackTrace}' .toJS, ); + } else if (event is HotReloadRequest) { + await handleWebSocketHotReloadRequest(event, manager, client.sink); } }, onError: (error) { @@ -366,6 +370,49 @@ Future _authenticateUser(String authUrl) async { return responseText.contains('Dart Debug Authentication Success!'); } +// handle hot reload request/response logic. +Future handleWebSocketHotReloadRequest( + HotReloadRequest event, + ReloadingManager manager, + StreamSink clientSink, +) async { + final requestId = event.id; + try { + // Execute the hot reload. + await manager.fetchLibrariesForHotReload(hotReloadSourcesPath); + await manager.hotReload(); + // Send the response back to the server. + _trySendEvent( + clientSink, + jsonEncode( + serializers.serialize( + HotReloadResponse( + (b) => + b + ..id = requestId + ..success = true, + ), + ), + ), + ); + } catch (e) { + _trySendEvent( + clientSink, + jsonEncode( + serializers.serialize( + HotReloadResponse( + (b) => + b + ..id = requestId + ..success = false + ..errorMessage = e.toString(), + ), + ), + ), + ); + } +} + @JS(r'$dartAppId') external String get dartAppId;