diff --git a/assets/translations/en-US.json b/assets/translations/en-US.json index 24cc89e..5567db3 100644 --- a/assets/translations/en-US.json +++ b/assets/translations/en-US.json @@ -683,5 +683,9 @@ "postChannelRealm": "Realms", "postFilterReset": "Reset Filter", "postFilterResetDescription": "Clear filter and show all posts.", - "postFilterWithCategory": "Viewing posts in {}" + "postFilterWithCategory": "Viewing posts in {}", + "databaseSize": "Database Size", + "databaseDelete": "Delete Database", + "databaseDeleteDescription": "Remove the database on your local disk, the content will be fetched from server again.", + "databaseDeleted": "The local database has been deleted." } diff --git a/assets/translations/zh-CN.json b/assets/translations/zh-CN.json index 6991c3c..13ee771 100644 --- a/assets/translations/zh-CN.json +++ b/assets/translations/zh-CN.json @@ -681,5 +681,9 @@ "postChannelRealm": "领域", "postFilterReset": "重置过滤器", "postFilterResetDescription": "清除过滤器并显示所有帖子。", - "postFilterWithCategory": "查看{}区中的帖子" + "postFilterWithCategory": "查看{}区中的帖子", + "databaseSize": "数据库大小", + "databaseDelete": "删除数据库", + "databaseDeleteDescription": "删除本地数据库,内容将从服务器重新获取。", + "databaseDeleted": "本地数据库已被删除。" } diff --git a/assets/translations/zh-HK.json b/assets/translations/zh-HK.json index aee2f60..4819293 100644 --- a/assets/translations/zh-HK.json +++ b/assets/translations/zh-HK.json @@ -681,5 +681,9 @@ "postChannelRealm": "領域", "postFilterReset": "重置過濾器", "postFilterResetDescription": "清除過濾器並顯示所有帖子。", - "postFilterWithCategory": "查看{}區中的帖子" + "postFilterWithCategory": "查看{}區中的帖子", + "databaseSize": "數據庫大小", + "databaseDelete": "刪除數據庫", + "databaseDeleteDescription": "刪除本地數據庫,內容將從服務器重新獲取。", + "databaseDeleted": "本地數據庫已被刪除。" } diff --git a/assets/translations/zh-TW.json b/assets/translations/zh-TW.json index dd1a928..314a56a 100644 --- a/assets/translations/zh-TW.json +++ b/assets/translations/zh-TW.json @@ -681,5 +681,9 @@ "postChannelRealm": "領域", "postFilterReset": "重置過濾器", "postFilterResetDescription": "清除過濾器並顯示所有帖子。", - "postFilterWithCategory": "查看{}區中的帖子" + "postFilterWithCategory": "查看{}區中的帖子", + "databaseSize": "數據庫大小", + "databaseDelete": "刪除數據庫", + "databaseDeleteDescription": "刪除本地數據庫,內容將從服務器重新獲取。", + "databaseDeleted": "本地數據庫已被刪除。" } diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 1fc959a..e82ce11 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -221,6 +221,25 @@ PODS: - sqflite_darwin (0.0.4): - Flutter - FlutterMacOS + - sqlite3 (3.49.0): + - sqlite3/common (= 3.49.0) + - sqlite3/common (3.49.0) + - sqlite3/dbstatvtab (3.49.0): + - sqlite3/common + - sqlite3/fts5 (3.49.0): + - sqlite3/common + - sqlite3/perf-threadsafe (3.49.0): + - sqlite3/common + - sqlite3/rtree (3.49.0): + - sqlite3/common + - sqlite3_flutter_libs (0.0.1): + - Flutter + - FlutterMacOS + - sqlite3 (~> 3.49.0) + - sqlite3/dbstatvtab + - sqlite3/fts5 + - sqlite3/perf-threadsafe + - sqlite3/rtree - SwiftyGif (5.4.5) - url_launcher_ios (0.0.1): - Flutter @@ -268,6 +287,7 @@ DEPENDENCIES: - share_plus (from `.symlinks/plugins/share_plus/ios`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`) + - sqlite3_flutter_libs (from `.symlinks/plugins/sqlite3_flutter_libs/darwin`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) - video_compress (from `.symlinks/plugins/video_compress/ios`) - volume_controller (from `.symlinks/plugins/volume_controller/ios`) @@ -294,6 +314,7 @@ SPEC REPOS: - PromisesObjC - SAMKeychain - SDWebImage + - sqlite3 - SwiftyGif - WebRTC-SDK @@ -360,6 +381,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/shared_preferences_foundation/darwin" sqflite_darwin: :path: ".symlinks/plugins/sqflite_darwin/darwin" + sqlite3_flutter_libs: + :path: ".symlinks/plugins/sqlite3_flutter_libs/darwin" url_launcher_ios: :path: ".symlinks/plugins/url_launcher_ios/ios" video_compress: @@ -421,6 +444,8 @@ SPEC CHECKSUMS: share_plus: 8b6f8b3447e494cca5317c8c3073de39b3600d1f shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d + sqlite3: 4922312598b67e1825c6a6c821296dcbf6783046 + sqlite3_flutter_libs: 069c435986dd4b63461aecd68f4b30be4a9e9daa SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe video_compress: fce97e4fb1dfd88175aa07d2ffc8a2f297f87fbe diff --git a/lib/controllers/chat_message_controller.dart b/lib/controllers/chat_message_controller.dart index d093737..47bcfcc 100644 --- a/lib/controllers/chat_message_controller.dart +++ b/lib/controllers/chat_message_controller.dart @@ -2,11 +2,12 @@ import 'dart:async'; import 'dart:convert'; import 'dart:math' as math; -import 'package:collection/collection.dart'; import 'package:dio/dio.dart'; +import 'package:drift/drift.dart'; import 'package:flutter/material.dart'; -import 'package:hive/hive.dart'; import 'package:provider/provider.dart'; +import 'package:surface/database/database.dart'; +import 'package:surface/providers/database.dart'; import 'package:surface/providers/sn_attachment.dart'; import 'package:surface/providers/sn_network.dart'; import 'package:surface/providers/user_directory.dart'; @@ -16,13 +17,13 @@ import 'package:surface/types/websocket.dart'; import 'package:uuid/uuid.dart'; class ChatMessageController extends ChangeNotifier { - static const kChatMessageBoxPrefix = 'nex_chat_messages_'; static const kSingleBatchLoadLimit = 100; late final SnNetworkProvider _sn; late final UserDirectoryProvider _ud; late final WebSocketProvider _ws; late final SnAttachmentProvider _attach; + late final DatabaseProvider _dt; StreamSubscription? _wsSubscription; @@ -31,6 +32,7 @@ class ChatMessageController extends ChangeNotifier { _ud = context.read(); _ws = context.read(); _attach = context.read(); + _dt = context.read(); } bool isPending = true; @@ -38,9 +40,9 @@ class ChatMessageController extends ChangeNotifier { int? messageTotal; - bool get isAllLoaded => messageTotal != null && messages.length >= messageTotal!; + bool get isAllLoaded => + messageTotal != null && messages.length >= messageTotal!; - String? _boxKey; SnChannel? channel; SnChannelMember? profile; @@ -51,25 +53,17 @@ class ChatMessageController extends ChangeNotifier { /// Stored as a list of nonce to provide the loading state final List unconfirmedMessages = List.empty(growable: true); - Box? get _box => (_boxKey == null || isPending) ? null : Hive.box(_boxKey!); - final List typingMembers = List.empty(growable: true); final Map typingInactiveTimer = {}; Future initialize(SnChannel chan) async { channel = chan; - // Initialize local data - _boxKey = '$kChatMessageBoxPrefix${chan.id}'; - await Hive.openBox(_boxKey!); - // Fetch channel profile final resp = await _sn.client.get( '/cgi/im/channels/${chan.keyPath}/me', ); - profile = SnChannelMember.fromJson( - resp.data as Map, - ); + profile = SnChannelMember.fromJson(resp.data); _wsSubscription = _ws.pk.stream.listen((event) { switch (event.method) { @@ -87,7 +81,8 @@ class ChatMessageController extends ChangeNotifier { notifyListeners(); } typingInactiveTimer[member.id]?.cancel(); - typingInactiveTimer[member.id] = Timer(const Duration(seconds: 3), () { + typingInactiveTimer[member.id] = + Timer(const Duration(seconds: 3), () { typingMembers.removeWhere((x) => x.id == member.id); typingInactiveTimer.remove(member.id); notifyListeners(); @@ -129,10 +124,16 @@ class ChatMessageController extends ChangeNotifier { } Future _saveMessageToLocal(Iterable messages) async { - if (_box == null) return; - await _box!.putAll({ - for (final message in messages) message.id: message, - }); + await _dt.db.snLocalChatMessage.insertAll( + messages.map( + (ele) => SnLocalChatMessageCompanion.insert( + id: Value(ele.id), + content: ele, + channelId: channel!.id, + createdAt: Value(ele.createdAt), + ), + ), + onConflict: DoNothing()); } Future _addUnconfirmedMessage(SnChatMessage message) async { @@ -184,8 +185,21 @@ class ChatMessageController extends ChangeNotifier { await _applyMessage(message); notifyListeners(); - if (_box == null) return; - await _box!.put(message.id, message); + if (isCheckedUpdate) { + await _dt.db.snLocalChatMessage.insertOne( + SnLocalChatMessageCompanion.insert( + id: Value(message.id), + content: message, + channelId: channel!.id, + createdAt: Value(message.createdAt), + ), + onConflict: DoUpdate((_) => SnLocalChatMessageCompanion.custom( + content: Constant(jsonEncode(message.toJson())), + )), + ); + } else { + incomeStrandedQueue.add(message); + } } Future _applyMessage(SnChatMessage message) async { @@ -194,7 +208,8 @@ class ChatMessageController extends ChangeNotifier { switch (message.type) { case 'messages.edit': if (message.relatedEventId != null) { - final idx = messages.indexWhere((x) => x.id == message.relatedEventId); + final idx = + messages.indexWhere((x) => x.id == message.relatedEventId); if (idx != -1) { final newBody = message.body; newBody.remove('related_event'); @@ -202,16 +217,24 @@ class ChatMessageController extends ChangeNotifier { body: newBody, updatedAt: message.updatedAt, ); - if (_box!.containsKey(message.relatedEventId)) { - await _box!.put(message.relatedEventId, messages[idx]); + if (message.relatedEventId != null) { + await (_dt.db.snLocalChatMessage.update() + ..where((e) => e.id.equals(message.relatedEventId!))) + .write( + SnLocalChatMessageCompanion.custom( + content: Constant(jsonEncode(messages[idx].toJson())), + ), + ); } } } case 'messages.delete': if (message.relatedEventId != null) { messages.removeWhere((x) => x.id == message.relatedEventId); - if (_box!.containsKey(message.relatedEventId)) { - await _box!.delete(message.relatedEventId); + if (message.relatedEventId != null) { + await (_dt.db.snLocalChatMessage.delete() + ..where((e) => e.id.equals(message.relatedEventId!))) + .go(); } } } @@ -233,7 +256,8 @@ class ChatMessageController extends ChangeNotifier { 'algorithm': 'plain', if (quoteId != null) 'quote_event': quoteId, if (relatedId != null) 'related_event': relatedId, - if (attachments != null && attachments.isNotEmpty) 'attachments': attachments, + if (attachments != null && attachments.isNotEmpty) + 'attachments': attachments, }; // Mock the message locally @@ -287,20 +311,34 @@ class ChatMessageController extends ChangeNotifier { } } + bool isCheckedUpdate = false; + List incomeStrandedQueue = List.empty(growable: true); + /// Check the local storage is up to date with the server. /// If the local storage is not up to date, it will be updated. Future checkUpdate() async { - if (_box == null) return; - if (_box!.isEmpty) return; - isLoading = true; notifyListeners(); + final mostRecentMessage = await (_dt.db.snLocalChatMessage.select() + ..limit(1) + ..orderBy([ + (e) => + OrderingTerm(expression: e.createdAt, mode: OrderingMode.desc) + ])) + .getSingleOrNull(); + if (mostRecentMessage == null) { + // Initial load + await loadMessages(take: 20); + isCheckedUpdate = true; + return; + } + try { final resp = await _sn.client.get( '/cgi/im/channels/${channel!.keyPath}/events/update', queryParameters: { - 'pivot': _box!.values.last.id, + 'pivot': mostRecentMessage.content.id, }, ); if (resp.data['up_to_date'] == true) return; @@ -316,6 +354,12 @@ class ChatMessageController extends ChangeNotifier { } finally { await loadMessages(); isLoading = false; + + isCheckedUpdate = true; + _saveMessageToLocal(incomeStrandedQueue).then((_) { + incomeStrandedQueue.clear(); + }); + notifyListeners(); } } @@ -324,13 +368,18 @@ class ChatMessageController extends ChangeNotifier { /// If it was not found in local storage we will look it up in remote Future getMessage(int id) async { SnChatMessage? out; - if (_box != null && _box!.containsKey(id)) { - out = _box!.get(id); + final local = await (_dt.db.snLocalChatMessage.select() + ..limit(1) + ..where((e) => e.id.equals(id))) + .getSingleOrNull(); + if (local != null) { + out = local.content; } if (out == null) { try { - final resp = await _sn.client.get('/cgi/im/channels/${channel!.keyPath}/events/$id'); + final resp = await _sn.client + .get('/cgi/im/channels/${channel!.keyPath}/events/$id'); out = SnChatMessage.fromJson(resp.data); _saveMessageToLocal([out]); } catch (_) { @@ -364,16 +413,21 @@ class ChatMessageController extends ChangeNotifier { bool forceLocal = false, bool forceRemote = false, }) async { + final localTotal = await _dt.db.snLocalChatMessage + .count(where: (e) => e.channelId.equals(channel!.id)) + .getSingle(); + late List out; - if (_box != null && (_box!.length >= take + offset || forceLocal) && !forceRemote) { - out = _box!.keys - .toList() - .cast() - .sorted((a, b) => b.compareTo(a)) - .skip(offset) - .take(take) - .map((key) => _box!.get(key)!) - .toList(); + if ((localTotal >= take + offset || forceLocal) && !forceRemote) { + final result = await (_dt.db.snLocalChatMessage.select() + ..where((e) => e.channelId.equals(channel!.id)) + ..orderBy([ + (e) => + OrderingTerm(expression: e.createdAt, mode: OrderingMode.desc) + ]) + ..limit(take, offset: offset)) + .get(); + out = result.map((e) => e.content).toList(); } else { final resp = await _sn.client.get( '/cgi/im/channels/${channel!.keyPath}/events', @@ -408,7 +462,8 @@ class ChatMessageController extends ChangeNotifier { quoteEvent: quoteEvent, attachments: attachments .where( - (ele) => out[i].body['attachments']?.contains(ele?.rid) ?? false, + (ele) => + out[i].body['attachments']?.contains(ele?.rid) ?? false, ) .toList(), ), @@ -416,7 +471,10 @@ class ChatMessageController extends ChangeNotifier { } // Preload sender accounts - final accountId = out.where((ele) => ele.sender.accountId >= 0).map((ele) => ele.sender.accountId).toSet(); + final accountId = out + .where((ele) => ele.sender.accountId >= 0) + .map((ele) => ele.sender.accountId) + .toSet(); await _ud.listAccount(accountId); return out; @@ -443,7 +501,6 @@ class ChatMessageController extends ChangeNotifier { @override void dispose() { - _box?.close(); _wsSubscription?.cancel(); super.dispose(); } diff --git a/lib/database/chat.dart b/lib/database/chat.dart new file mode 100644 index 0000000..96cb229 --- /dev/null +++ b/lib/database/chat.dart @@ -0,0 +1,74 @@ +import 'dart:convert'; + +import 'package:drift/drift.dart'; +import 'package:surface/types/chat.dart'; + +class SnChannelConverter extends TypeConverter + with JsonTypeConverter2> { + const SnChannelConverter(); + + @override + SnChannel fromSql(String fromDb) { + return fromJson(jsonDecode(fromDb) as Map); + } + + @override + String toSql(SnChannel value) { + return jsonEncode(toJson(value)); + } + + @override + SnChannel fromJson(Map json) { + return SnChannel.fromJson(json); + } + + @override + Map toJson(SnChannel value) { + return value.toJson(); + } +} + +class SnLocalChatChannel extends Table { + IntColumn get id => integer().autoIncrement()(); + + TextColumn get alias => text()(); + + TextColumn get content => text().map(const SnChannelConverter())(); + + DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); +} + +class SnMessageConverter extends TypeConverter + with JsonTypeConverter2> { + const SnMessageConverter(); + + @override + SnChatMessage fromSql(String fromDb) { + return fromJson(jsonDecode(fromDb) as Map); + } + + @override + String toSql(SnChatMessage value) { + return jsonEncode(toJson(value)); + } + + @override + SnChatMessage fromJson(Map json) { + return SnChatMessage.fromJson(json); + } + + @override + Map toJson(SnChatMessage value) { + return value.toJson(); + } +} + +class SnLocalChatMessage extends Table { + IntColumn get id => integer().autoIncrement()(); + + IntColumn get channelId => integer()(); + + TextColumn get content => text().map(const SnMessageConverter())(); + + DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)(); +} diff --git a/lib/database/database.dart b/lib/database/database.dart new file mode 100644 index 0000000..0a601bc --- /dev/null +++ b/lib/database/database.dart @@ -0,0 +1,28 @@ +import 'package:drift/drift.dart'; +import 'package:drift_flutter/drift_flutter.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:surface/database/chat.dart'; +import 'package:surface/types/chat.dart'; + +part 'database.g.dart'; + +@DriftDatabase(tables: [SnLocalChatChannel, SnLocalChatMessage]) +class AppDatabase extends _$AppDatabase { + AppDatabase() : super(_openConnection()); + + @override + int get schemaVersion => 1; + + static QueryExecutor _openConnection() { + return driftDatabase( + name: 'solar_network_data', + native: const DriftNativeOptions( + databaseDirectory: getApplicationSupportDirectory, + ), + web: DriftWebOptions( + sqlite3Wasm: Uri.parse('sqlite3.wasm'), + driftWorker: Uri.parse('drift_worker.dart.js'), + ), + ); + } +} diff --git a/lib/database/database.g.dart b/lib/database/database.g.dart new file mode 100644 index 0000000..dee6ef8 --- /dev/null +++ b/lib/database/database.g.dart @@ -0,0 +1,880 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'database.dart'; + +// ignore_for_file: type=lint +class $SnLocalChatChannelTable extends SnLocalChatChannel + with TableInfo<$SnLocalChatChannelTable, SnLocalChatChannelData> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $SnLocalChatChannelTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + hasAutoIncrement: true, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultConstraints: + GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); + static const VerificationMeta _aliasMeta = const VerificationMeta('alias'); + @override + late final GeneratedColumn alias = GeneratedColumn( + 'alias', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true); + static const VerificationMeta _contentMeta = + const VerificationMeta('content'); + @override + late final GeneratedColumnWithTypeConverter content = + GeneratedColumn('content', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true) + .withConverter($SnLocalChatChannelTable.$convertercontent); + static const VerificationMeta _createdAtMeta = + const VerificationMeta('createdAt'); + @override + late final GeneratedColumn createdAt = GeneratedColumn( + 'created_at', aliasedName, false, + type: DriftSqlType.dateTime, + requiredDuringInsert: false, + defaultValue: currentDateAndTime); + @override + List get $columns => [id, alias, content, createdAt]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'sn_local_chat_channel'; + @override + VerificationContext validateIntegrity( + Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } + if (data.containsKey('alias')) { + context.handle( + _aliasMeta, alias.isAcceptableOrUnknown(data['alias']!, _aliasMeta)); + } else if (isInserting) { + context.missing(_aliasMeta); + } + context.handle(_contentMeta, const VerificationResult.success()); + if (data.containsKey('created_at')) { + context.handle(_createdAtMeta, + createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta)); + } + return context; + } + + @override + Set get $primaryKey => {id}; + @override + SnLocalChatChannelData map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return SnLocalChatChannelData( + id: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}id'])!, + alias: attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}alias'])!, + content: $SnLocalChatChannelTable.$convertercontent.fromSql( + attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}content'])!), + createdAt: attachedDatabase.typeMapping + .read(DriftSqlType.dateTime, data['${effectivePrefix}created_at'])!, + ); + } + + @override + $SnLocalChatChannelTable createAlias(String alias) { + return $SnLocalChatChannelTable(attachedDatabase, alias); + } + + static JsonTypeConverter2> + $convertercontent = const SnChannelConverter(); +} + +class SnLocalChatChannelData extends DataClass + implements Insertable { + final int id; + final String alias; + final SnChannel content; + final DateTime createdAt; + const SnLocalChatChannelData( + {required this.id, + required this.alias, + required this.content, + required this.createdAt}); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + map['alias'] = Variable(alias); + { + map['content'] = Variable( + $SnLocalChatChannelTable.$convertercontent.toSql(content)); + } + map['created_at'] = Variable(createdAt); + return map; + } + + SnLocalChatChannelCompanion toCompanion(bool nullToAbsent) { + return SnLocalChatChannelCompanion( + id: Value(id), + alias: Value(alias), + content: Value(content), + createdAt: Value(createdAt), + ); + } + + factory SnLocalChatChannelData.fromJson(Map json, + {ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return SnLocalChatChannelData( + id: serializer.fromJson(json['id']), + alias: serializer.fromJson(json['alias']), + content: $SnLocalChatChannelTable.$convertercontent + .fromJson(serializer.fromJson>(json['content'])), + createdAt: serializer.fromJson(json['createdAt']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'alias': serializer.toJson(alias), + 'content': serializer.toJson>( + $SnLocalChatChannelTable.$convertercontent.toJson(content)), + 'createdAt': serializer.toJson(createdAt), + }; + } + + SnLocalChatChannelData copyWith( + {int? id, String? alias, SnChannel? content, DateTime? createdAt}) => + SnLocalChatChannelData( + id: id ?? this.id, + alias: alias ?? this.alias, + content: content ?? this.content, + createdAt: createdAt ?? this.createdAt, + ); + SnLocalChatChannelData copyWithCompanion(SnLocalChatChannelCompanion data) { + return SnLocalChatChannelData( + id: data.id.present ? data.id.value : this.id, + alias: data.alias.present ? data.alias.value : this.alias, + content: data.content.present ? data.content.value : this.content, + createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, + ); + } + + @override + String toString() { + return (StringBuffer('SnLocalChatChannelData(') + ..write('id: $id, ') + ..write('alias: $alias, ') + ..write('content: $content, ') + ..write('createdAt: $createdAt') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, alias, content, createdAt); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is SnLocalChatChannelData && + other.id == this.id && + other.alias == this.alias && + other.content == this.content && + other.createdAt == this.createdAt); +} + +class SnLocalChatChannelCompanion + extends UpdateCompanion { + final Value id; + final Value alias; + final Value content; + final Value createdAt; + const SnLocalChatChannelCompanion({ + this.id = const Value.absent(), + this.alias = const Value.absent(), + this.content = const Value.absent(), + this.createdAt = const Value.absent(), + }); + SnLocalChatChannelCompanion.insert({ + this.id = const Value.absent(), + required String alias, + required SnChannel content, + this.createdAt = const Value.absent(), + }) : alias = Value(alias), + content = Value(content); + static Insertable custom({ + Expression? id, + Expression? alias, + Expression? content, + Expression? createdAt, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (alias != null) 'alias': alias, + if (content != null) 'content': content, + if (createdAt != null) 'created_at': createdAt, + }); + } + + SnLocalChatChannelCompanion copyWith( + {Value? id, + Value? alias, + Value? content, + Value? createdAt}) { + return SnLocalChatChannelCompanion( + id: id ?? this.id, + alias: alias ?? this.alias, + content: content ?? this.content, + createdAt: createdAt ?? this.createdAt, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (alias.present) { + map['alias'] = Variable(alias.value); + } + if (content.present) { + map['content'] = Variable( + $SnLocalChatChannelTable.$convertercontent.toSql(content.value)); + } + if (createdAt.present) { + map['created_at'] = Variable(createdAt.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('SnLocalChatChannelCompanion(') + ..write('id: $id, ') + ..write('alias: $alias, ') + ..write('content: $content, ') + ..write('createdAt: $createdAt') + ..write(')')) + .toString(); + } +} + +class $SnLocalChatMessageTable extends SnLocalChatMessage + with TableInfo<$SnLocalChatMessageTable, SnLocalChatMessageData> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $SnLocalChatMessageTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + hasAutoIncrement: true, + type: DriftSqlType.int, + requiredDuringInsert: false, + defaultConstraints: + GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); + static const VerificationMeta _channelIdMeta = + const VerificationMeta('channelId'); + @override + late final GeneratedColumn channelId = GeneratedColumn( + 'channel_id', aliasedName, false, + type: DriftSqlType.int, requiredDuringInsert: true); + static const VerificationMeta _contentMeta = + const VerificationMeta('content'); + @override + late final GeneratedColumnWithTypeConverter content = + GeneratedColumn('content', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true) + .withConverter( + $SnLocalChatMessageTable.$convertercontent); + static const VerificationMeta _createdAtMeta = + const VerificationMeta('createdAt'); + @override + late final GeneratedColumn createdAt = GeneratedColumn( + 'created_at', aliasedName, false, + type: DriftSqlType.dateTime, + requiredDuringInsert: false, + defaultValue: currentDateAndTime); + @override + List get $columns => [id, channelId, content, createdAt]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'sn_local_chat_message'; + @override + VerificationContext validateIntegrity( + Insertable instance, + {bool isInserting = false}) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } + if (data.containsKey('channel_id')) { + context.handle(_channelIdMeta, + channelId.isAcceptableOrUnknown(data['channel_id']!, _channelIdMeta)); + } else if (isInserting) { + context.missing(_channelIdMeta); + } + context.handle(_contentMeta, const VerificationResult.success()); + if (data.containsKey('created_at')) { + context.handle(_createdAtMeta, + createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta)); + } + return context; + } + + @override + Set get $primaryKey => {id}; + @override + SnLocalChatMessageData map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return SnLocalChatMessageData( + id: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}id'])!, + channelId: attachedDatabase.typeMapping + .read(DriftSqlType.int, data['${effectivePrefix}channel_id'])!, + content: $SnLocalChatMessageTable.$convertercontent.fromSql( + attachedDatabase.typeMapping + .read(DriftSqlType.string, data['${effectivePrefix}content'])!), + createdAt: attachedDatabase.typeMapping + .read(DriftSqlType.dateTime, data['${effectivePrefix}created_at'])!, + ); + } + + @override + $SnLocalChatMessageTable createAlias(String alias) { + return $SnLocalChatMessageTable(attachedDatabase, alias); + } + + static JsonTypeConverter2> + $convertercontent = const SnMessageConverter(); +} + +class SnLocalChatMessageData extends DataClass + implements Insertable { + final int id; + final int channelId; + final SnChatMessage content; + final DateTime createdAt; + const SnLocalChatMessageData( + {required this.id, + required this.channelId, + required this.content, + required this.createdAt}); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + map['channel_id'] = Variable(channelId); + { + map['content'] = Variable( + $SnLocalChatMessageTable.$convertercontent.toSql(content)); + } + map['created_at'] = Variable(createdAt); + return map; + } + + SnLocalChatMessageCompanion toCompanion(bool nullToAbsent) { + return SnLocalChatMessageCompanion( + id: Value(id), + channelId: Value(channelId), + content: Value(content), + createdAt: Value(createdAt), + ); + } + + factory SnLocalChatMessageData.fromJson(Map json, + {ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return SnLocalChatMessageData( + id: serializer.fromJson(json['id']), + channelId: serializer.fromJson(json['channelId']), + content: $SnLocalChatMessageTable.$convertercontent + .fromJson(serializer.fromJson>(json['content'])), + createdAt: serializer.fromJson(json['createdAt']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'channelId': serializer.toJson(channelId), + 'content': serializer.toJson>( + $SnLocalChatMessageTable.$convertercontent.toJson(content)), + 'createdAt': serializer.toJson(createdAt), + }; + } + + SnLocalChatMessageData copyWith( + {int? id, + int? channelId, + SnChatMessage? content, + DateTime? createdAt}) => + SnLocalChatMessageData( + id: id ?? this.id, + channelId: channelId ?? this.channelId, + content: content ?? this.content, + createdAt: createdAt ?? this.createdAt, + ); + SnLocalChatMessageData copyWithCompanion(SnLocalChatMessageCompanion data) { + return SnLocalChatMessageData( + id: data.id.present ? data.id.value : this.id, + channelId: data.channelId.present ? data.channelId.value : this.channelId, + content: data.content.present ? data.content.value : this.content, + createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, + ); + } + + @override + String toString() { + return (StringBuffer('SnLocalChatMessageData(') + ..write('id: $id, ') + ..write('channelId: $channelId, ') + ..write('content: $content, ') + ..write('createdAt: $createdAt') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, channelId, content, createdAt); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is SnLocalChatMessageData && + other.id == this.id && + other.channelId == this.channelId && + other.content == this.content && + other.createdAt == this.createdAt); +} + +class SnLocalChatMessageCompanion + extends UpdateCompanion { + final Value id; + final Value channelId; + final Value content; + final Value createdAt; + const SnLocalChatMessageCompanion({ + this.id = const Value.absent(), + this.channelId = const Value.absent(), + this.content = const Value.absent(), + this.createdAt = const Value.absent(), + }); + SnLocalChatMessageCompanion.insert({ + this.id = const Value.absent(), + required int channelId, + required SnChatMessage content, + this.createdAt = const Value.absent(), + }) : channelId = Value(channelId), + content = Value(content); + static Insertable custom({ + Expression? id, + Expression? channelId, + Expression? content, + Expression? createdAt, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (channelId != null) 'channel_id': channelId, + if (content != null) 'content': content, + if (createdAt != null) 'created_at': createdAt, + }); + } + + SnLocalChatMessageCompanion copyWith( + {Value? id, + Value? channelId, + Value? content, + Value? createdAt}) { + return SnLocalChatMessageCompanion( + id: id ?? this.id, + channelId: channelId ?? this.channelId, + content: content ?? this.content, + createdAt: createdAt ?? this.createdAt, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (channelId.present) { + map['channel_id'] = Variable(channelId.value); + } + if (content.present) { + map['content'] = Variable( + $SnLocalChatMessageTable.$convertercontent.toSql(content.value)); + } + if (createdAt.present) { + map['created_at'] = Variable(createdAt.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('SnLocalChatMessageCompanion(') + ..write('id: $id, ') + ..write('channelId: $channelId, ') + ..write('content: $content, ') + ..write('createdAt: $createdAt') + ..write(')')) + .toString(); + } +} + +abstract class _$AppDatabase extends GeneratedDatabase { + _$AppDatabase(QueryExecutor e) : super(e); + $AppDatabaseManager get managers => $AppDatabaseManager(this); + late final $SnLocalChatChannelTable snLocalChatChannel = + $SnLocalChatChannelTable(this); + late final $SnLocalChatMessageTable snLocalChatMessage = + $SnLocalChatMessageTable(this); + @override + Iterable> get allTables => + allSchemaEntities.whereType>(); + @override + List get allSchemaEntities => + [snLocalChatChannel, snLocalChatMessage]; +} + +typedef $$SnLocalChatChannelTableCreateCompanionBuilder + = SnLocalChatChannelCompanion Function({ + Value id, + required String alias, + required SnChannel content, + Value createdAt, +}); +typedef $$SnLocalChatChannelTableUpdateCompanionBuilder + = SnLocalChatChannelCompanion Function({ + Value id, + Value alias, + Value content, + Value createdAt, +}); + +class $$SnLocalChatChannelTableFilterComposer + extends Composer<_$AppDatabase, $SnLocalChatChannelTable> { + $$SnLocalChatChannelTableFilterComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + ColumnFilters get id => $composableBuilder( + column: $table.id, builder: (column) => ColumnFilters(column)); + + ColumnFilters get alias => $composableBuilder( + column: $table.alias, builder: (column) => ColumnFilters(column)); + + ColumnWithTypeConverterFilters get content => + $composableBuilder( + column: $table.content, + builder: (column) => ColumnWithTypeConverterFilters(column)); + + ColumnFilters get createdAt => $composableBuilder( + column: $table.createdAt, builder: (column) => ColumnFilters(column)); +} + +class $$SnLocalChatChannelTableOrderingComposer + extends Composer<_$AppDatabase, $SnLocalChatChannelTable> { + $$SnLocalChatChannelTableOrderingComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + ColumnOrderings get id => $composableBuilder( + column: $table.id, builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get alias => $composableBuilder( + column: $table.alias, builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get content => $composableBuilder( + column: $table.content, builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get createdAt => $composableBuilder( + column: $table.createdAt, builder: (column) => ColumnOrderings(column)); +} + +class $$SnLocalChatChannelTableAnnotationComposer + extends Composer<_$AppDatabase, $SnLocalChatChannelTable> { + $$SnLocalChatChannelTableAnnotationComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + GeneratedColumn get id => + $composableBuilder(column: $table.id, builder: (column) => column); + + GeneratedColumn get alias => + $composableBuilder(column: $table.alias, builder: (column) => column); + + GeneratedColumnWithTypeConverter get content => + $composableBuilder(column: $table.content, builder: (column) => column); + + GeneratedColumn get createdAt => + $composableBuilder(column: $table.createdAt, builder: (column) => column); +} + +class $$SnLocalChatChannelTableTableManager extends RootTableManager< + _$AppDatabase, + $SnLocalChatChannelTable, + SnLocalChatChannelData, + $$SnLocalChatChannelTableFilterComposer, + $$SnLocalChatChannelTableOrderingComposer, + $$SnLocalChatChannelTableAnnotationComposer, + $$SnLocalChatChannelTableCreateCompanionBuilder, + $$SnLocalChatChannelTableUpdateCompanionBuilder, + ( + SnLocalChatChannelData, + BaseReferences<_$AppDatabase, $SnLocalChatChannelTable, + SnLocalChatChannelData> + ), + SnLocalChatChannelData, + PrefetchHooks Function()> { + $$SnLocalChatChannelTableTableManager( + _$AppDatabase db, $SnLocalChatChannelTable table) + : super(TableManagerState( + db: db, + table: table, + createFilteringComposer: () => + $$SnLocalChatChannelTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => + $$SnLocalChatChannelTableOrderingComposer($db: db, $table: table), + createComputedFieldComposer: () => + $$SnLocalChatChannelTableAnnotationComposer( + $db: db, $table: table), + updateCompanionCallback: ({ + Value id = const Value.absent(), + Value alias = const Value.absent(), + Value content = const Value.absent(), + Value createdAt = const Value.absent(), + }) => + SnLocalChatChannelCompanion( + id: id, + alias: alias, + content: content, + createdAt: createdAt, + ), + createCompanionCallback: ({ + Value id = const Value.absent(), + required String alias, + required SnChannel content, + Value createdAt = const Value.absent(), + }) => + SnLocalChatChannelCompanion.insert( + id: id, + alias: alias, + content: content, + createdAt: createdAt, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $$SnLocalChatChannelTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $SnLocalChatChannelTable, + SnLocalChatChannelData, + $$SnLocalChatChannelTableFilterComposer, + $$SnLocalChatChannelTableOrderingComposer, + $$SnLocalChatChannelTableAnnotationComposer, + $$SnLocalChatChannelTableCreateCompanionBuilder, + $$SnLocalChatChannelTableUpdateCompanionBuilder, + ( + SnLocalChatChannelData, + BaseReferences<_$AppDatabase, $SnLocalChatChannelTable, + SnLocalChatChannelData> + ), + SnLocalChatChannelData, + PrefetchHooks Function()>; +typedef $$SnLocalChatMessageTableCreateCompanionBuilder + = SnLocalChatMessageCompanion Function({ + Value id, + required int channelId, + required SnChatMessage content, + Value createdAt, +}); +typedef $$SnLocalChatMessageTableUpdateCompanionBuilder + = SnLocalChatMessageCompanion Function({ + Value id, + Value channelId, + Value content, + Value createdAt, +}); + +class $$SnLocalChatMessageTableFilterComposer + extends Composer<_$AppDatabase, $SnLocalChatMessageTable> { + $$SnLocalChatMessageTableFilterComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + ColumnFilters get id => $composableBuilder( + column: $table.id, builder: (column) => ColumnFilters(column)); + + ColumnFilters get channelId => $composableBuilder( + column: $table.channelId, builder: (column) => ColumnFilters(column)); + + ColumnWithTypeConverterFilters + get content => $composableBuilder( + column: $table.content, + builder: (column) => ColumnWithTypeConverterFilters(column)); + + ColumnFilters get createdAt => $composableBuilder( + column: $table.createdAt, builder: (column) => ColumnFilters(column)); +} + +class $$SnLocalChatMessageTableOrderingComposer + extends Composer<_$AppDatabase, $SnLocalChatMessageTable> { + $$SnLocalChatMessageTableOrderingComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + ColumnOrderings get id => $composableBuilder( + column: $table.id, builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get channelId => $composableBuilder( + column: $table.channelId, builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get content => $composableBuilder( + column: $table.content, builder: (column) => ColumnOrderings(column)); + + ColumnOrderings get createdAt => $composableBuilder( + column: $table.createdAt, builder: (column) => ColumnOrderings(column)); +} + +class $$SnLocalChatMessageTableAnnotationComposer + extends Composer<_$AppDatabase, $SnLocalChatMessageTable> { + $$SnLocalChatMessageTableAnnotationComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + GeneratedColumn get id => + $composableBuilder(column: $table.id, builder: (column) => column); + + GeneratedColumn get channelId => + $composableBuilder(column: $table.channelId, builder: (column) => column); + + GeneratedColumnWithTypeConverter get content => + $composableBuilder(column: $table.content, builder: (column) => column); + + GeneratedColumn get createdAt => + $composableBuilder(column: $table.createdAt, builder: (column) => column); +} + +class $$SnLocalChatMessageTableTableManager extends RootTableManager< + _$AppDatabase, + $SnLocalChatMessageTable, + SnLocalChatMessageData, + $$SnLocalChatMessageTableFilterComposer, + $$SnLocalChatMessageTableOrderingComposer, + $$SnLocalChatMessageTableAnnotationComposer, + $$SnLocalChatMessageTableCreateCompanionBuilder, + $$SnLocalChatMessageTableUpdateCompanionBuilder, + ( + SnLocalChatMessageData, + BaseReferences<_$AppDatabase, $SnLocalChatMessageTable, + SnLocalChatMessageData> + ), + SnLocalChatMessageData, + PrefetchHooks Function()> { + $$SnLocalChatMessageTableTableManager( + _$AppDatabase db, $SnLocalChatMessageTable table) + : super(TableManagerState( + db: db, + table: table, + createFilteringComposer: () => + $$SnLocalChatMessageTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => + $$SnLocalChatMessageTableOrderingComposer($db: db, $table: table), + createComputedFieldComposer: () => + $$SnLocalChatMessageTableAnnotationComposer( + $db: db, $table: table), + updateCompanionCallback: ({ + Value id = const Value.absent(), + Value channelId = const Value.absent(), + Value content = const Value.absent(), + Value createdAt = const Value.absent(), + }) => + SnLocalChatMessageCompanion( + id: id, + channelId: channelId, + content: content, + createdAt: createdAt, + ), + createCompanionCallback: ({ + Value id = const Value.absent(), + required int channelId, + required SnChatMessage content, + Value createdAt = const Value.absent(), + }) => + SnLocalChatMessageCompanion.insert( + id: id, + channelId: channelId, + content: content, + createdAt: createdAt, + ), + withReferenceMapper: (p0) => p0 + .map((e) => (e.readTable(table), BaseReferences(db, table, e))) + .toList(), + prefetchHooksCallback: null, + )); +} + +typedef $$SnLocalChatMessageTableProcessedTableManager = ProcessedTableManager< + _$AppDatabase, + $SnLocalChatMessageTable, + SnLocalChatMessageData, + $$SnLocalChatMessageTableFilterComposer, + $$SnLocalChatMessageTableOrderingComposer, + $$SnLocalChatMessageTableAnnotationComposer, + $$SnLocalChatMessageTableCreateCompanionBuilder, + $$SnLocalChatMessageTableUpdateCompanionBuilder, + ( + SnLocalChatMessageData, + BaseReferences<_$AppDatabase, $SnLocalChatMessageTable, + SnLocalChatMessageData> + ), + SnLocalChatMessageData, + PrefetchHooks Function()>; + +class $AppDatabaseManager { + final _$AppDatabase _db; + $AppDatabaseManager(this._db); + $$SnLocalChatChannelTableTableManager get snLocalChatChannel => + $$SnLocalChatChannelTableTableManager(_db, _db.snLocalChatChannel); + $$SnLocalChatMessageTableTableManager get snLocalChatMessage => + $$SnLocalChatMessageTableTableManager(_db, _db.snLocalChatMessage); +} diff --git a/lib/database/drift_worker.dart b/lib/database/drift_worker.dart new file mode 100644 index 0000000..0c7dd61 --- /dev/null +++ b/lib/database/drift_worker.dart @@ -0,0 +1,8 @@ +import 'package:drift/wasm.dart'; + +// Use `dart compile js -O4 ./drift_worker.dart` to compile this file. +// And place it in the web/ directory. + +// When compiled with dart2js, this file defines a dedicated or shared web +// worker used by drift. +void main() => WasmDatabase.workerMainForOpen(); \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 4ee7789..188650d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -13,7 +13,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:go_router/go_router.dart'; -import 'package:hive_flutter/hive_flutter.dart'; import 'package:hotkey_manager/hotkey_manager.dart'; import 'package:package_info_plus/package_info_plus.dart'; import 'package:provider/provider.dart'; @@ -24,6 +23,7 @@ import 'package:surface/firebase_options.dart'; import 'package:surface/providers/channel.dart'; import 'package:surface/providers/chat_call.dart'; import 'package:surface/providers/config.dart'; +import 'package:surface/providers/database.dart'; import 'package:surface/providers/link_preview.dart'; import 'package:surface/providers/navigation.dart'; import 'package:surface/providers/notification.dart'; @@ -40,8 +40,6 @@ import 'package:surface/providers/userinfo.dart'; import 'package:surface/providers/websocket.dart'; import 'package:surface/providers/widget.dart'; import 'package:surface/router.dart'; -import 'package:surface/types/chat.dart'; -import 'package:surface/types/realm.dart'; import 'package:flutter_web_plugins/url_strategy.dart' show usePathUrlStrategy; import 'package:surface/widgets/dialog.dart'; import 'package:tray_manager/tray_manager.dart'; @@ -82,12 +80,6 @@ void main() async { await EasyLocalization.ensureInitialized(); - await Hive.initFlutter(); - Hive.registerAdapter(SnChannelImplAdapter()); - Hive.registerAdapter(SnRealmImplAdapter()); - Hive.registerAdapter(SnChannelMemberImplAdapter()); - Hive.registerAdapter(SnChatMessageImplAdapter()); - if (!kIsWeb && !Platform.isLinux) { await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, @@ -114,7 +106,8 @@ void main() async { } if (!kIsWeb && Platform.isAndroid) { - final ImagePickerPlatform imagePickerImplementation = ImagePickerPlatform.instance; + final ImagePickerPlatform imagePickerImplementation = + ImagePickerPlatform.instance; if (imagePickerImplementation is ImagePickerAndroid) { imagePickerImplementation.useAndroidPhotoPicker = true; } @@ -142,6 +135,9 @@ class SolianApp extends StatelessWidget { assetLoader: JsonAssetLoader(), child: MultiProvider( providers: [ + // Infrastructure layer + Provider(create: (ctx) => DatabaseProvider(ctx)), + // System extensions layer Provider(create: (ctx) => HomeWidgetProvider(ctx)), @@ -230,7 +226,8 @@ class _AppSplashScreenState extends State<_AppSplashScreen> with TrayListener { if (prefs.containsKey('first_boot_time')) { final rawTime = prefs.getString('first_boot_time'); final time = DateTime.tryParse(rawTime ?? ''); - if (time != null && time.isBefore(DateTime.now().subtract(const Duration(days: 3)))) { + if (time != null && + time.isBefore(DateTime.now().subtract(const Duration(days: 3)))) { final inAppReview = InAppReview.instance; if (prefs.getBool('rating_requested') == true) return; if (await inAppReview.isAvailable()) { @@ -258,13 +255,18 @@ class _AppSplashScreenState extends State<_AppSplashScreen> with TrayListener { ).get( 'https://git.solsynth.dev/api/v1/repos/HyperNet/Surface/tags?page=1&limit=1', ); - final remoteVersionString = (resp.data as List).firstOrNull?['name'] ?? '0.0.0+0'; + final remoteVersionString = + (resp.data as List).firstOrNull?['name'] ?? '0.0.0+0'; final remoteVersion = Version.parse(remoteVersionString.split('+').first); final localVersion = Version.parse(localVersionString.split('+').first); - final remoteBuildNumber = int.tryParse(remoteVersionString.split('+').last) ?? 0; - final localBuildNumber = int.tryParse(localVersionString.split('+').last) ?? 0; + final remoteBuildNumber = + int.tryParse(remoteVersionString.split('+').last) ?? 0; + final localBuildNumber = + int.tryParse(localVersionString.split('+').last) ?? 0; log("[Update] Local: $localVersionString, Remote: $remoteVersionString"); - if ((remoteVersion > localVersion || remoteBuildNumber > localBuildNumber) && mounted) { + if ((remoteVersion > localVersion || + remoteBuildNumber > localBuildNumber) && + mounted) { final config = context.read(); config.setUpdate(remoteVersionString); log("[Update] Update available: $remoteVersionString"); @@ -331,7 +333,9 @@ class _AppSplashScreenState extends State<_AppSplashScreen> with TrayListener { Future _trayInitialization() async { if (kIsWeb || Platform.isAndroid || Platform.isIOS) return; - final icon = Platform.isWindows ? 'assets/icon/tray-icon.ico' : 'assets/icon/tray-icon.png'; + final icon = Platform.isWindows + ? 'assets/icon/tray-icon.ico' + : 'assets/icon/tray-icon.png'; final appVersion = await PackageInfo.fromPlatform(); trayManager.addListener(this); diff --git a/lib/providers/channel.dart b/lib/providers/channel.dart index e934c72..ddca9ad 100644 --- a/lib/providers/channel.dart +++ b/lib/providers/channel.dart @@ -1,7 +1,10 @@ +import 'dart:convert'; + +import 'package:drift/drift.dart'; import 'package:flutter/material.dart'; -import 'package:hive_flutter/hive_flutter.dart'; import 'package:provider/provider.dart'; -import 'package:surface/controllers/chat_message_controller.dart'; +import 'package:surface/database/database.dart'; +import 'package:surface/providers/database.dart'; import 'package:surface/providers/sn_network.dart'; import 'package:surface/providers/user_directory.dart'; import 'package:surface/types/chat.dart'; @@ -12,24 +15,32 @@ class ChatChannelProvider extends ChangeNotifier { late final SnNetworkProvider _sn; late final UserDirectoryProvider _ud; - - Box? get _channelBox => Hive.box(kChatChannelBoxName); + late final DatabaseProvider _dt; ChatChannelProvider(BuildContext context) { _sn = context.read(); _ud = context.read(); - _initializeLocalData(); - } - - Future _initializeLocalData() async { - await Hive.openBox(kChatChannelBoxName); + _dt = context.read(); } Future _saveChannelToLocal(Iterable channels) async { - if (_channelBox == null) return; - await _channelBox!.putAll({ - for (final channel in channels) channel.key: channel, - }); + await Future.wait( + channels.map( + (ele) => _dt.db.snLocalChatChannel.insertOne( + SnLocalChatChannelCompanion.insert( + id: Value(ele.id), + alias: ele.key, + content: ele, + createdAt: Value(ele.createdAt), + ), + onConflict: DoUpdate( + (_) => SnLocalChatChannelCompanion.custom( + content: Constant(jsonEncode(ele.toJson())), + ), + ), + ), + ), + ); } Future> _fetchChannelsFromServer({ @@ -54,12 +65,13 @@ class ChatChannelProvider extends ChangeNotifier { /// It will use the local storage as much as possible. /// The alias should include the scope, formatted as `scope:alias`. Future getChannel(String key) async { - if (_channelBox != null) { - final local = _channelBox!.get(key); - if (local != null) return local; - } + final local = await (_dt.db.snLocalChatChannel.select() + ..where((e) => e.alias.equals(key))) + .getSingleOrNull(); + if (local != null) return local.content; - var resp = await _sn.client.get('/cgi/im/channels/$key'); + var resp = + await _sn.client.get('/cgi/im/channels/${key.replaceAll(':', '/')}'); var out = SnChannel.fromJson(resp.data); // Preload realm of the channel @@ -77,8 +89,19 @@ class ChatChannelProvider extends ChangeNotifier { /// And the second time is when the data was fetched from the server. /// But there is some exception that will only cause one of them to be emitted. /// Like the local storage is broken or the server is down. - Stream> fetchChannels() async* { - if (_channelBox != null) yield _channelBox!.values.toList(); + Stream> fetchChannels( + {bool noRemote = false, bool noLocal = false}) async* { + if (!noLocal) { + final local = await (_dt.db.snLocalChatChannel.select() + ..orderBy([ + (e) => + OrderingTerm(expression: e.createdAt, mode: OrderingMode.desc) + ])) + .get(); + yield local.map((e) => e.content).toList(); + } + + if (noRemote) return; var resp = await _sn.client.get('/cgi/id/realms/me/available'); final realms = List.from( @@ -120,23 +143,23 @@ class ChatChannelProvider extends ChangeNotifier { Future> getLastMessages( Iterable channels, ) async { - final result = List.empty(growable: true); + final result = List>.empty(growable: true); for (final channel in channels) { - final channelBox = await Hive.openBox( - '${ChatMessageController.kChatMessageBoxPrefix}${channel.id}', - ); - final lastMessage = - channelBox.isNotEmpty ? channelBox.values.reduce((a, b) => a.createdAt.isAfter(b.createdAt) ? a : b) : null; - if (lastMessage != null) result.add(lastMessage); - channelBox.close(); + final out = (_dt.db.snLocalChatMessage.select() + ..where((e) => e.channelId.equals(channel.id)) + ..orderBy([ + (e) => + OrderingTerm(expression: e.createdAt, mode: OrderingMode.desc) + ]) + ..limit(1)) + .getSingleOrNull(); + result.add(out); } - await _ud.listAccount(result.map((ele) => ele.sender.accountId).toSet()); - return result; - } - - @override - void dispose() { - _channelBox?.close(); - super.dispose(); + final out = (await Future.wait(result)) + .where((e) => e != null) + .map((e) => e!.content) + .toList(); + await _ud.listAccount(out.map((ele) => ele.sender.accountId).toSet()); + return out; } } diff --git a/lib/providers/database.dart b/lib/providers/database.dart new file mode 100644 index 0000000..0255292 --- /dev/null +++ b/lib/providers/database.dart @@ -0,0 +1,31 @@ +import 'dart:io'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:path/path.dart' show join; +import 'package:path_provider/path_provider.dart'; +import 'package:surface/database/database.dart'; + +class DatabaseProvider { + late AppDatabase db; + + DatabaseProvider(BuildContext context) { + db = AppDatabase(); + } + + Future getDatabaseSize() async { + if (kIsWeb) return 0; + final basepath = await getApplicationSupportDirectory(); + return await File(join(basepath.path, 'solar_network_data.sqlite')) + .length(); + } + + Future removeDatabase() async { + if (kIsWeb) return; + final basepath = await getApplicationSupportDirectory(); + final file = File(join(basepath.path, 'solar_network_data.sqlite')); + db.close(); + await file.delete(); + db = AppDatabase(); + } +} diff --git a/lib/screens/account.dart b/lib/screens/account.dart index e7b18ba..c267b4e 100644 --- a/lib/screens/account.dart +++ b/lib/screens/account.dart @@ -4,10 +4,10 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:go_router/go_router.dart'; -import 'package:hive_flutter/hive_flutter.dart'; import 'package:material_symbols_icons/symbols.dart'; import 'package:provider/provider.dart'; import 'package:styled_widget/styled_widget.dart'; +import 'package:surface/providers/database.dart'; import 'package:surface/providers/sn_network.dart'; import 'package:surface/providers/userinfo.dart'; import 'package:surface/providers/websocket.dart'; @@ -45,7 +45,8 @@ class AccountScreen extends StatelessWidget { ? Stack( fit: StackFit.expand, children: [ - AutoResizeUniversalImage(sn.getAttachmentUrl(ua.user!.banner), fit: BoxFit.cover), + AutoResizeUniversalImage(sn.getAttachmentUrl(ua.user!.banner), + fit: BoxFit.cover), Positioned( top: 0, left: 0, @@ -79,7 +80,9 @@ class AccountScreen extends StatelessWidget { ], ), body: SingleChildScrollView( - child: ua.isAuthorized ? _AuthorizedAccountScreen() : _UnauthorizedAccountScreen(), + child: ua.isAuthorized + ? _AuthorizedAccountScreen() + : _UnauthorizedAccountScreen(), ), ); } @@ -115,12 +118,15 @@ class _AuthorizedAccountScreen extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.baseline, textBaseline: TextBaseline.alphabetic, children: [ - Text(ua.user!.nick).textStyle(Theme.of(context).textTheme.titleLarge!), + Text(ua.user!.nick) + .textStyle(Theme.of(context).textTheme.titleLarge!), const Gap(4), - Text('@${ua.user!.name}').textStyle(Theme.of(context).textTheme.bodySmall!), + Text('@${ua.user!.name}') + .textStyle(Theme.of(context).textTheme.bodySmall!), ], ), - Text(ua.user!.description).textStyle(Theme.of(context).textTheme.bodyMedium!), + Text(ua.user!.description) + .textStyle(Theme.of(context).textTheme.bodyMedium!), ], ), ); @@ -193,8 +199,7 @@ class _AuthorizedAccountScreen extends StatelessWidget { ua.logoutUser(); final ws = context.read(); ws.disconnect(); - await Hive.deleteFromDisk(); - await Hive.initFlutter(); + context.read().removeDatabase(); }, ), ], @@ -220,7 +225,9 @@ class _UnauthorizedAccountScreen extends StatelessWidget { child: Icon(Symbols.waving_hand, size: 28), ), const Gap(8), - Text('accountIntroTitle').tr().textStyle(Theme.of(context).textTheme.titleLarge!), + Text('accountIntroTitle') + .tr() + .textStyle(Theme.of(context).textTheme.titleLarge!), Text('accountIntroSubtitle').tr(), ], ).padding(all: 20), diff --git a/lib/screens/chat.dart b/lib/screens/chat.dart index b22e752..6af1c5b 100644 --- a/lib/screens/chat.dart +++ b/lib/screens/chat.dart @@ -6,7 +6,9 @@ import 'package:go_router/go_router.dart'; import 'package:material_symbols_icons/symbols.dart'; import 'package:provider/provider.dart'; import 'package:surface/providers/channel.dart'; +import 'package:surface/providers/sn_network.dart'; import 'package:surface/providers/user_directory.dart'; +import 'package:surface/providers/userinfo.dart'; import 'package:surface/types/chat.dart'; import 'package:surface/widgets/account/account_image.dart'; import 'package:surface/widgets/account/account_select.dart'; @@ -17,9 +19,6 @@ import 'package:surface/widgets/navigation/app_scaffold.dart'; import 'package:surface/widgets/unauthorized_hint.dart'; import 'package:uuid/uuid.dart'; -import '../providers/sn_network.dart'; -import '../providers/userinfo.dart'; - class ChatScreen extends StatefulWidget { const ChatScreen({super.key}); @@ -35,7 +34,7 @@ class _ChatScreenState extends State { List? _channels; Map? _lastMessages; - void _refreshChannels() { + void _refreshChannels({bool noRemote = false}) { final ua = context.read(); if (!ua.isAuthorized) { setState(() => _isBusy = false); @@ -43,12 +42,15 @@ class _ChatScreenState extends State { } final chan = context.read(); - chan.fetchChannels().listen((channels) async { + chan.fetchChannels(noRemote: noRemote).listen((channels) async { final lastMessages = await chan.getLastMessages(channels); _lastMessages = {for (final val in lastMessages) val.channelId: val}; channels.sort((a, b) { - if (_lastMessages!.containsKey(a.id) && _lastMessages!.containsKey(b.id)) { - return _lastMessages![b.id]!.createdAt.compareTo(_lastMessages![a.id]!.createdAt); + if (_lastMessages!.containsKey(a.id) && + _lastMessages!.containsKey(b.id)) { + return _lastMessages![b.id]! + .createdAt + .compareTo(_lastMessages![a.id]!.createdAt); } if (_lastMessages!.containsKey(a.id)) return -1; if (_lastMessages!.containsKey(b.id)) return 1; @@ -86,7 +88,8 @@ class _ChatScreenState extends State { void _newDirectMessage() async { final user = await showModalBottomSheet( context: context, - builder: (context) => AccountSelect(title: 'channelNewDirectMessage'.tr()), + builder: (context) => + AccountSelect(title: 'channelNewDirectMessage'.tr()), ); if (user == null) return; if (!mounted) return; @@ -98,7 +101,8 @@ class _ChatScreenState extends State { await sn.client.post('/cgi/im/channels/global/dm', data: { 'alias': uuid.v4().replaceAll('-', '').substring(0, 12), 'name': 'DM', - 'description': 'A direct message channel between @${ua.user?.name} and @${user.name}', + 'description': + 'A direct message channel between @${ua.user?.name} and @${user.name}', 'related_user': user.id, }); _fabKey.currentState!.toggle(); @@ -144,20 +148,27 @@ class _ChatScreenState extends State { type: ExpandableFabType.up, childrenAnimation: ExpandableFabAnimation.none, overlayStyle: ExpandableFabOverlayStyle( - color: Theme.of(context).colorScheme.surface.withAlpha((255 * 0.5).round()), + color: Theme.of(context) + .colorScheme + .surface + .withAlpha((255 * 0.5).round()), ), openButtonBuilder: RotateFloatingActionButtonBuilder( child: const Icon(Symbols.add, size: 28), fabSize: ExpandableFabSize.regular, - foregroundColor: Theme.of(context).floatingActionButtonTheme.foregroundColor, - backgroundColor: Theme.of(context).floatingActionButtonTheme.backgroundColor, + foregroundColor: + Theme.of(context).floatingActionButtonTheme.foregroundColor, + backgroundColor: + Theme.of(context).floatingActionButtonTheme.backgroundColor, shape: const CircleBorder(), ), closeButtonBuilder: DefaultFloatingActionButtonBuilder( child: const Icon(Symbols.close, size: 28), fabSize: ExpandableFabSize.regular, - foregroundColor: Theme.of(context).floatingActionButtonTheme.foregroundColor, - backgroundColor: Theme.of(context).floatingActionButtonTheme.backgroundColor, + foregroundColor: + Theme.of(context).floatingActionButtonTheme.foregroundColor, + backgroundColor: + Theme.of(context).floatingActionButtonTheme.backgroundColor, shape: const CircleBorder(), ), children: [ @@ -208,13 +219,17 @@ class _ChatScreenState extends State { final lastMessage = _lastMessages?[channel.id]; if (channel.type == 1) { - final otherMember = channel.members?.cast().firstWhere( - (ele) => ele?.accountId != ua.user?.id, - orElse: () => null, - ); + final otherMember = + channel.members?.cast().firstWhere( + (ele) => ele?.accountId != ua.user?.id, + orElse: () => null, + ); return ListTile( - title: Text(ud.getAccountFromCache(otherMember?.accountId)?.nick ?? channel.name), + title: Text(ud + .getAccountFromCache(otherMember?.accountId) + ?.nick ?? + channel.name), subtitle: lastMessage != null ? Text( '${ud.getAccountFromCache(lastMessage.sender.accountId)?.nick}: ${lastMessage.body['text'] ?? 'Unable preview'}', @@ -228,9 +243,12 @@ class _ChatScreenState extends State { maxLines: 1, overflow: TextOverflow.ellipsis, ), - contentPadding: const EdgeInsets.symmetric(horizontal: 16), + contentPadding: + const EdgeInsets.symmetric(horizontal: 16), leading: AccountImage( - content: ud.getAccountFromCache(otherMember?.accountId)?.avatar, + content: ud + .getAccountFromCache(otherMember?.accountId) + ?.avatar, ), onTap: () { GoRouter.of(context).pushNamed( @@ -240,7 +258,7 @@ class _ChatScreenState extends State { 'alias': channel.alias, }, ).then((value) { - if (mounted) _refreshChannels(); + if (mounted) _refreshChannels(noRemote: true); }); }, ); @@ -259,7 +277,8 @@ class _ChatScreenState extends State { maxLines: 1, overflow: TextOverflow.ellipsis, ), - contentPadding: const EdgeInsets.symmetric(horizontal: 16), + contentPadding: + const EdgeInsets.symmetric(horizontal: 16), leading: AccountImage( content: null, fallbackWidget: const Icon(Symbols.chat, size: 20), diff --git a/lib/screens/explore.dart b/lib/screens/explore.dart index 9bfe077..d56ffb3 100644 --- a/lib/screens/explore.dart +++ b/lib/screens/explore.dart @@ -243,7 +243,12 @@ class _ExploreScreenState extends State with SingleTickerProvider children: [ Icon(Symbols.globe, size: 20, color: Theme.of(context).appBarTheme.foregroundColor), const Gap(8), - Text('postChannelGlobal').tr().textColor(Theme.of(context).appBarTheme.foregroundColor), + Flexible( + child: Text( + 'postChannelGlobal', + maxLines: 1, + ).tr().textColor(Theme.of(context).appBarTheme.foregroundColor), + ), ], ), ), @@ -254,7 +259,13 @@ class _ExploreScreenState extends State with SingleTickerProvider children: [ Icon(Symbols.group, size: 20, color: Theme.of(context).appBarTheme.foregroundColor), const Gap(8), - Text('postChannelFriends').tr().textColor(Theme.of(context).appBarTheme.foregroundColor), + Flexible( + child: Text( + 'postChannelFriends', + maxLines: 1, + textAlign: TextAlign.center, + ).tr().textColor(Theme.of(context).appBarTheme.foregroundColor), + ), ], ), ), @@ -265,7 +276,12 @@ class _ExploreScreenState extends State with SingleTickerProvider children: [ Icon(Symbols.subscriptions, size: 20, color: Theme.of(context).appBarTheme.foregroundColor), const Gap(8), - Text('postChannelFollowing').tr().textColor(Theme.of(context).appBarTheme.foregroundColor), + Flexible( + child: Text( + 'postChannelFollowing', + maxLines: 1, + ).tr().textColor(Theme.of(context).appBarTheme.foregroundColor), + ), ], ), ), @@ -276,7 +292,12 @@ class _ExploreScreenState extends State with SingleTickerProvider children: [ Icon(Symbols.workspaces, size: 20, color: Theme.of(context).appBarTheme.foregroundColor), const Gap(8), - Text('postChannelRealm').tr().textColor(Theme.of(context).appBarTheme.foregroundColor), + Flexible( + child: Text( + 'postChannelRealm', + maxLines: 1, + ).tr().textColor(Theme.of(context).appBarTheme.foregroundColor), + ), ], ), ), diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart index 33a8ea0..2493fd4 100644 --- a/lib/screens/settings.dart +++ b/lib/screens/settings.dart @@ -5,8 +5,10 @@ import 'package:dropdown_button2/dropdown_button2.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_colorpicker/flutter_colorpicker.dart'; import 'package:go_router/go_router.dart'; +import 'package:google_fonts/google_fonts.dart'; import 'package:image_picker/image_picker.dart'; import 'package:material_symbols_icons/symbols.dart'; import 'package:path_provider/path_provider.dart'; @@ -14,6 +16,7 @@ import 'package:provider/provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:styled_widget/styled_widget.dart'; import 'package:surface/providers/config.dart'; +import 'package:surface/providers/database.dart'; import 'package:surface/providers/sn_network.dart'; import 'package:surface/providers/theme.dart'; import 'package:surface/theme.dart'; @@ -67,6 +70,7 @@ class _SettingsScreenState extends State { @override Widget build(BuildContext context) { final sn = context.read(); + final dt = context.read(); return AppScaffold( appBar: AppBar( @@ -81,7 +85,11 @@ class _SettingsScreenState extends State { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text('settingsAppearance').bold().fontSize(17).tr().padding(horizontal: 20, bottom: 4), + Text('settingsAppearance') + .bold() + .fontSize(17) + .tr() + .padding(horizontal: 20, bottom: 4), ListTile( title: Text('settingsDisplayLanguage').tr(), subtitle: Text('settingsDisplayLanguageDescription').tr(), @@ -91,15 +99,21 @@ class _SettingsScreenState extends State { child: DropdownButton2( isExpanded: true, items: [ - ...EasyLocalization.of(context)!.supportedLocales.mapIndexed((idx, ele) { + ...EasyLocalization.of(context)! + .supportedLocales + .mapIndexed((idx, ele) { return DropdownMenuItem( value: ele, - child: Text('${ele.languageCode}-${ele.countryCode}').fontSize(14), + child: + Text('${ele.languageCode}-${ele.countryCode}') + .fontSize(14), ); }), DropdownMenuItem( value: null, - child: Text('settingsDisplayLanguageSystem').tr().fontSize(14), + child: Text('settingsDisplayLanguageSystem') + .tr() + .fontSize(14), ), ], value: EasyLocalization.of(context)!.currentLocale, @@ -132,10 +146,12 @@ class _SettingsScreenState extends State { leading: const Icon(Symbols.image), trailing: const Icon(Symbols.chevron_right), onTap: () async { - final image = await ImagePicker().pickImage(source: ImageSource.gallery); + final image = await ImagePicker() + .pickImage(source: ImageSource.gallery); if (image == null) return; - await File(image.path).copy('$_docBasepath/app_background_image'); + await File(image.path) + .copy('$_docBasepath/app_background_image'); _prefs.setBool(kAppBackgroundStoreKey, true); setState(() {}); @@ -143,7 +159,8 @@ class _SettingsScreenState extends State { ), if (!kIsWeb) FutureBuilder( - future: File('$_docBasepath/app_background_image').exists(), + future: + File('$_docBasepath/app_background_image').exists(), builder: (context, snapshot) { if (!snapshot.hasData || !snapshot.data!) { return const SizedBox.shrink(); @@ -151,12 +168,16 @@ class _SettingsScreenState extends State { return ListTile( title: Text('settingsBackgroundImageClear').tr(), - subtitle: Text('settingsBackgroundImageClearDescription').tr(), - contentPadding: const EdgeInsets.symmetric(horizontal: 24), + subtitle: + Text('settingsBackgroundImageClearDescription') + .tr(), + contentPadding: + const EdgeInsets.symmetric(horizontal: 24), leading: const Icon(Symbols.texture), trailing: const Icon(Symbols.chevron_right), onTap: () { - File('$_docBasepath/app_background_image').deleteSync(); + File('$_docBasepath/app_background_image') + .deleteSync(); _prefs.remove(kAppBackgroundStoreKey); setState(() {}); }, @@ -186,34 +207,35 @@ class _SettingsScreenState extends State { contentPadding: const EdgeInsets.symmetric(horizontal: 24), trailing: const Icon(Symbols.chevron_right), onTap: () async { - Color pickerColor = Color(_prefs.getInt(kAppColorSchemeStoreKey) ?? Colors.indigo.value); + Color pickerColor = Color( + _prefs.getInt(kAppColorSchemeStoreKey) ?? + Colors.indigo.value); final color = await showDialog( context: context, - builder: (context) => - AlertDialog( - content: SingleChildScrollView( - child: ColorPicker( - pickerColor: pickerColor, - onColorChanged: (color) => pickerColor = color, - enableAlpha: false, - hexInputBar: true, - ), - ), - actions: [ - TextButton( - child: const Text('dialogDismiss').tr(), - onPressed: () { - Navigator.of(context).pop(); - }, - ), - TextButton( - child: const Text('dialogConfirm').tr(), - onPressed: () { - Navigator.of(context).pop(pickerColor); - }, - ), - ], + builder: (context) => AlertDialog( + content: SingleChildScrollView( + child: ColorPicker( + pickerColor: pickerColor, + onColorChanged: (color) => pickerColor = color, + enableAlpha: false, + hexInputBar: true, ), + ), + actions: [ + TextButton( + child: const Text('dialogDismiss').tr(), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + TextButton( + child: const Text('dialogConfirm').tr(), + onPressed: () { + Navigator.of(context).pop(pickerColor); + }, + ), + ], + ), ); if (color == null || !context.mounted) return; @@ -248,16 +270,17 @@ class _SettingsScreenState extends State { ], value: _prefs.getInt(kAppColorSchemeStoreKey) == null ? 1 - : kColorSchemes.values - .toList() - .indexWhere((ele) => ele.value == _prefs.getInt(kAppColorSchemeStoreKey)), + : kColorSchemes.values.toList().indexWhere((ele) => + ele.value == + _prefs.getInt(kAppColorSchemeStoreKey)), onChanged: (int? value) { if (value != null && value != -1) { - _prefs.setInt(kAppColorSchemeStoreKey, kColorSchemes.values - .elementAt(value) - .value); + _prefs.setInt(kAppColorSchemeStoreKey, + kColorSchemes.values.elementAt(value).value); final th = context.read(); - th.reloadTheme(seedColorOverride: kColorSchemes.values.elementAt(value)); + th.reloadTheme( + seedColorOverride: + kColorSchemes.values.elementAt(value)); setState(() {}); context.showSnackbar('colorSchemeApplied'.tr()); @@ -293,7 +316,8 @@ class _SettingsScreenState extends State { CheckboxListTile( secondary: const Icon(Symbols.left_panel_close), title: Text('settingsDrawerPreferCollapse').tr(), - subtitle: Text('settingsDrawerPreferCollapseDescription').tr(), + subtitle: + Text('settingsDrawerPreferCollapseDescription').tr(), contentPadding: const EdgeInsets.only(left: 24, right: 17), value: _prefs.getBool(kAppDrawerPreferCollapse) ?? false, onChanged: (value) { @@ -308,7 +332,11 @@ class _SettingsScreenState extends State { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text('settingsFeatures').bold().fontSize(17).tr().padding(horizontal: 20, bottom: 4), + Text('settingsFeatures') + .bold() + .fontSize(17) + .tr() + .padding(horizontal: 20, bottom: 4), CheckboxListTile( secondary: const Icon(Symbols.vibration), contentPadding: const EdgeInsets.only(left: 24, right: 17), @@ -350,7 +378,11 @@ class _SettingsScreenState extends State { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text('settingsNetwork').bold().fontSize(17).tr().padding(horizontal: 20, bottom: 4), + Text('settingsNetwork') + .bold() + .fontSize(17) + .tr() + .padding(horizontal: 20, bottom: 4), TextField( controller: _serverUrlController, decoration: InputDecoration( @@ -371,7 +403,8 @@ class _SettingsScreenState extends State { }, ), ), - onTapOutside: (_) => FocusManager.instance.primaryFocus?.unfocus(), + onTapOutside: (_) => + FocusManager.instance.primaryFocus?.unfocus(), ).padding(horizontal: 16, top: 8, bottom: 4), ListTile( title: Text('settingsNetworkServerPreset').tr(), @@ -383,12 +416,13 @@ class _SettingsScreenState extends State { isExpanded: true, items: [ ...kNetworkServerDirectory, - if (!kNetworkServerDirectory.map((ele) => ele.$2).contains(_serverUrlController.text)) + if (!kNetworkServerDirectory + .map((ele) => ele.$2) + .contains(_serverUrlController.text)) ('Custom', _serverUrlController.text), ] .map( - (item) => - DropdownMenuItem( + (item) => DropdownMenuItem( value: item.$2, child: Column( mainAxisSize: MainAxisSize.max, @@ -396,11 +430,12 @@ class _SettingsScreenState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text(item.$1).fontSize(14), - Text(item.$2, overflow: TextOverflow.ellipsis).fontSize(11) + Text(item.$2, overflow: TextOverflow.ellipsis) + .fontSize(11) ], ), ), - ) + ) .toList(), value: _serverUrlController.text, onChanged: (String? value) { @@ -442,7 +477,11 @@ class _SettingsScreenState extends State { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text('settingsPerformance').bold().fontSize(17).tr().padding(horizontal: 20, bottom: 4), + Text('settingsPerformance') + .bold() + .fontSize(17) + .tr() + .padding(horizontal: 20, bottom: 4), ListTile( title: Text('settingsImageQuality').tr(), subtitle: Text('settingsImageQualityDescription').tr(), @@ -450,21 +489,22 @@ class _SettingsScreenState extends State { leading: const Icon(Symbols.image), trailing: DropdownButtonHideUnderline( child: DropdownButton2( - value: kImageQualityLevel.values.elementAtOrNull(_prefs.getInt('app_image_quality') ?? 3) ?? + value: kImageQualityLevel.values.elementAtOrNull( + _prefs.getInt('app_image_quality') ?? 3) ?? FilterQuality.high, isExpanded: true, items: kImageQualityLevel.entries .map( - (item) => - DropdownMenuItem( + (item) => DropdownMenuItem( value: item.value, child: Text(item.key).tr().fontSize(14), ), - ) + ) .toList(), onChanged: (FilterQuality? value) { if (value == null) return; - _prefs.setInt('app_image_quality', kImageQualityLevel.values.toList().indexOf(value)); + _prefs.setInt('app_image_quality', + kImageQualityLevel.values.toList().indexOf(value)); setState(() {}); }, buttonStyleData: const ButtonStyleData( @@ -486,7 +526,42 @@ class _SettingsScreenState extends State { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text('settingsMisc').bold().fontSize(17).tr().padding(horizontal: 20, bottom: 4), + Text('settingsMisc') + .bold() + .fontSize(17) + .tr() + .padding(horizontal: 20, bottom: 4), + ListTile( + leading: const Icon(Symbols.database), + contentPadding: const EdgeInsets.symmetric(horizontal: 24), + title: Text('databaseSize').tr(), + subtitle: FutureBuilder( + future: dt.getDatabaseSize(), + builder: (context, snapshot) { + if (!snapshot.hasData || kIsWeb) { + return Text('unknown').tr(); + } + return Text( + snapshot.data!.formatBytes(), + style: GoogleFonts.robotoMono(), + ); + }, + ), + ), + ListTile( + leading: const Icon(Symbols.database_off), + contentPadding: const EdgeInsets.symmetric(horizontal: 24), + title: Text('databaseDelete').tr(), + subtitle: Text('databaseDeleteDescription').tr(), + trailing: const Icon(Symbols.chevron_right), + onTap: () async { + await dt.removeDatabase(); + if (!context.mounted) return; + HapticFeedback.heavyImpact(); + context.showSnackbar('databaseDeleted'.tr()); + setState(() {}); + }, + ), ListTile( title: Text('settingsMiscAbout').tr(), subtitle: Text('settingsMiscAboutDescription').tr(), diff --git a/lib/types/account.dart b/lib/types/account.dart index da2da32..0295fbc 100644 --- a/lib/types/account.dart +++ b/lib/types/account.dart @@ -9,7 +9,7 @@ class SnAccount with _$SnAccount { const SnAccount._(); const factory SnAccount({ - @HiveField(0) required int id, + required int id, required DateTime createdAt, required DateTime updatedAt, required DateTime? deletedAt, diff --git a/lib/types/account.freezed.dart b/lib/types/account.freezed.dart index e5338f2..f742774 100644 --- a/lib/types/account.freezed.dart +++ b/lib/types/account.freezed.dart @@ -58,7 +58,7 @@ abstract class $SnAccountCopyWith<$Res> { _$SnAccountCopyWithImpl<$Res, SnAccount>; @useResult $Res call( - {@HiveField(0) int id, + {int id, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, @@ -226,7 +226,7 @@ abstract class _$$SnAccountImplCopyWith<$Res> @override @useResult $Res call( - {@HiveField(0) int id, + {int id, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, @@ -374,7 +374,7 @@ class __$$SnAccountImplCopyWithImpl<$Res> @JsonSerializable() class _$SnAccountImpl extends _SnAccount { const _$SnAccountImpl( - {@HiveField(0) required this.id, + {required this.id, required this.createdAt, required this.updatedAt, required this.deletedAt, @@ -556,7 +556,7 @@ class _$SnAccountImpl extends _SnAccount { abstract class _SnAccount extends SnAccount { const factory _SnAccount( - {@HiveField(0) required final int id, + {required final int id, required final DateTime createdAt, required final DateTime updatedAt, required final DateTime? deletedAt, diff --git a/lib/types/chat.dart b/lib/types/chat.dart index ff51476..b7566da 100644 --- a/lib/types/chat.dart +++ b/lib/types/chat.dart @@ -14,21 +14,21 @@ class SnChannel with _$SnChannel { @HiveType(typeId: 2) const factory SnChannel({ - @HiveField(0) required int id, - @HiveField(1) required DateTime createdAt, - @HiveField(2) required DateTime updatedAt, - @HiveField(3) required dynamic deletedAt, - @HiveField(4) required String alias, - @HiveField(5) required String name, - @HiveField(6) required String description, - @HiveField(7) required List? members, + required int id, + required DateTime createdAt, + required DateTime updatedAt, + required dynamic deletedAt, + required String alias, + required String name, + required String description, + required List? members, List? messages, - @HiveField(8) required int type, - @HiveField(9) required int accountId, - @HiveField(10) required SnRealm? realm, - @HiveField(11) required int? realmId, - @HiveField(12) required bool isPublic, - @HiveField(13) required bool isCommunity, + required int type, + required int accountId, + required SnRealm? realm, + required int? realmId, + required bool isPublic, + required bool isCommunity, }) = _SnChannel; factory SnChannel.fromJson(Map json) => @@ -44,17 +44,17 @@ class SnChannelMember with _$SnChannelMember { @HiveType(typeId: 3) const factory SnChannelMember({ - @HiveField(0) required int id, - @HiveField(1) required DateTime createdAt, - @HiveField(2) required DateTime updatedAt, - @HiveField(3) required DateTime? deletedAt, - @HiveField(4) required int channelId, - @HiveField(5) required int accountId, - @HiveField(6) required String? nick, - @HiveField(7) required SnChannel? channel, - @HiveField(8) required SnAccount? account, + required int id, + required DateTime createdAt, + required DateTime updatedAt, + required DateTime? deletedAt, + required int channelId, + required int accountId, + required String? nick, + required SnChannel? channel, + required SnAccount? account, @Default(0) int notify, - @HiveField(9) required int powerLevel, + required int powerLevel, dynamic calls, dynamic events, }) = _SnChannelMember; @@ -69,19 +69,19 @@ class SnChatMessage with _$SnChatMessage { @HiveType(typeId: 4) const factory SnChatMessage({ - @HiveField(0) required int id, - @HiveField(1) required DateTime createdAt, - @HiveField(2) required DateTime updatedAt, - @HiveField(3) required DateTime? deletedAt, - @HiveField(4) required String uuid, - @HiveField(5) @Default({}) Map body, - @HiveField(6) required String type, - @HiveField(7) required SnChannel channel, - @HiveField(8) required SnChannelMember sender, - @HiveField(9) required int channelId, - @HiveField(10) required int senderId, - @HiveField(11) required int? quoteEventId, - @HiveField(12) required int? relatedEventId, + required int id, + required DateTime createdAt, + required DateTime updatedAt, + required DateTime? deletedAt, + required String uuid, + @Default({}) Map body, + required String type, + required SnChannel channel, + required SnChannelMember sender, + required int channelId, + required int senderId, + required int? quoteEventId, + required int? relatedEventId, SnChatMessagePreload? preload, }) = _SnChatMessage; diff --git a/lib/types/chat.freezed.dart b/lib/types/chat.freezed.dart index ae3b0e9..9cecf60 100644 --- a/lib/types/chat.freezed.dart +++ b/lib/types/chat.freezed.dart @@ -66,21 +66,21 @@ abstract class $SnChannelCopyWith<$Res> { _$SnChannelCopyWithImpl<$Res, SnChannel>; @useResult $Res call( - {@HiveField(0) int id, - @HiveField(1) DateTime createdAt, - @HiveField(2) DateTime updatedAt, - @HiveField(3) dynamic deletedAt, - @HiveField(4) String alias, - @HiveField(5) String name, - @HiveField(6) String description, - @HiveField(7) List? members, + {int id, + DateTime createdAt, + DateTime updatedAt, + dynamic deletedAt, + String alias, + String name, + String description, + List? members, List? messages, - @HiveField(8) int type, - @HiveField(9) int accountId, - @HiveField(10) SnRealm? realm, - @HiveField(11) int? realmId, - @HiveField(12) bool isPublic, - @HiveField(13) bool isCommunity}); + int type, + int accountId, + SnRealm? realm, + int? realmId, + bool isPublic, + bool isCommunity}); $SnRealmCopyWith<$Res>? get realm; } @@ -204,21 +204,21 @@ abstract class _$$SnChannelImplCopyWith<$Res> @override @useResult $Res call( - {@HiveField(0) int id, - @HiveField(1) DateTime createdAt, - @HiveField(2) DateTime updatedAt, - @HiveField(3) dynamic deletedAt, - @HiveField(4) String alias, - @HiveField(5) String name, - @HiveField(6) String description, - @HiveField(7) List? members, + {int id, + DateTime createdAt, + DateTime updatedAt, + dynamic deletedAt, + String alias, + String name, + String description, + List? members, List? messages, - @HiveField(8) int type, - @HiveField(9) int accountId, - @HiveField(10) SnRealm? realm, - @HiveField(11) int? realmId, - @HiveField(12) bool isPublic, - @HiveField(13) bool isCommunity}); + int type, + int accountId, + SnRealm? realm, + int? realmId, + bool isPublic, + bool isCommunity}); @override $SnRealmCopyWith<$Res>? get realm; @@ -323,21 +323,21 @@ class __$$SnChannelImplCopyWithImpl<$Res> @HiveType(typeId: 2) class _$SnChannelImpl extends _SnChannel { const _$SnChannelImpl( - {@HiveField(0) required this.id, - @HiveField(1) required this.createdAt, - @HiveField(2) required this.updatedAt, - @HiveField(3) required this.deletedAt, - @HiveField(4) required this.alias, - @HiveField(5) required this.name, - @HiveField(6) required this.description, - @HiveField(7) required final List? members, + {required this.id, + required this.createdAt, + required this.updatedAt, + required this.deletedAt, + required this.alias, + required this.name, + required this.description, + required final List? members, final List? messages, - @HiveField(8) required this.type, - @HiveField(9) required this.accountId, - @HiveField(10) required this.realm, - @HiveField(11) required this.realmId, - @HiveField(12) required this.isPublic, - @HiveField(13) required this.isCommunity}) + required this.type, + required this.accountId, + required this.realm, + required this.realmId, + required this.isPublic, + required this.isCommunity}) : _members = members, _messages = messages, super._(); @@ -477,21 +477,21 @@ class _$SnChannelImpl extends _SnChannel { abstract class _SnChannel extends SnChannel { const factory _SnChannel( - {@HiveField(0) required final int id, - @HiveField(1) required final DateTime createdAt, - @HiveField(2) required final DateTime updatedAt, - @HiveField(3) required final dynamic deletedAt, - @HiveField(4) required final String alias, - @HiveField(5) required final String name, - @HiveField(6) required final String description, - @HiveField(7) required final List? members, + {required final int id, + required final DateTime createdAt, + required final DateTime updatedAt, + required final dynamic deletedAt, + required final String alias, + required final String name, + required final String description, + required final List? members, final List? messages, - @HiveField(8) required final int type, - @HiveField(9) required final int accountId, - @HiveField(10) required final SnRealm? realm, - @HiveField(11) required final int? realmId, - @HiveField(12) required final bool isPublic, - @HiveField(13) required final bool isCommunity}) = _$SnChannelImpl; + required final int type, + required final int accountId, + required final SnRealm? realm, + required final int? realmId, + required final bool isPublic, + required final bool isCommunity}) = _$SnChannelImpl; const _SnChannel._() : super._(); factory _SnChannel.fromJson(Map json) = @@ -597,17 +597,17 @@ abstract class $SnChannelMemberCopyWith<$Res> { _$SnChannelMemberCopyWithImpl<$Res, SnChannelMember>; @useResult $Res call( - {@HiveField(0) int id, - @HiveField(1) DateTime createdAt, - @HiveField(2) DateTime updatedAt, - @HiveField(3) DateTime? deletedAt, - @HiveField(4) int channelId, - @HiveField(5) int accountId, - @HiveField(6) String? nick, - @HiveField(7) SnChannel? channel, - @HiveField(8) SnAccount? account, + {int id, + DateTime createdAt, + DateTime updatedAt, + DateTime? deletedAt, + int channelId, + int accountId, + String? nick, + SnChannel? channel, + SnAccount? account, int notify, - @HiveField(9) int powerLevel, + int powerLevel, dynamic calls, dynamic events}); @@ -738,17 +738,17 @@ abstract class _$$SnChannelMemberImplCopyWith<$Res> @override @useResult $Res call( - {@HiveField(0) int id, - @HiveField(1) DateTime createdAt, - @HiveField(2) DateTime updatedAt, - @HiveField(3) DateTime? deletedAt, - @HiveField(4) int channelId, - @HiveField(5) int accountId, - @HiveField(6) String? nick, - @HiveField(7) SnChannel? channel, - @HiveField(8) SnAccount? account, + {int id, + DateTime createdAt, + DateTime updatedAt, + DateTime? deletedAt, + int channelId, + int accountId, + String? nick, + SnChannel? channel, + SnAccount? account, int notify, - @HiveField(9) int powerLevel, + int powerLevel, dynamic calls, dynamic events}); @@ -847,17 +847,17 @@ class __$$SnChannelMemberImplCopyWithImpl<$Res> @HiveType(typeId: 3) class _$SnChannelMemberImpl extends _SnChannelMember { const _$SnChannelMemberImpl( - {@HiveField(0) required this.id, - @HiveField(1) required this.createdAt, - @HiveField(2) required this.updatedAt, - @HiveField(3) required this.deletedAt, - @HiveField(4) required this.channelId, - @HiveField(5) required this.accountId, - @HiveField(6) required this.nick, - @HiveField(7) required this.channel, - @HiveField(8) required this.account, + {required this.id, + required this.createdAt, + required this.updatedAt, + required this.deletedAt, + required this.channelId, + required this.accountId, + required this.nick, + required this.channel, + required this.account, this.notify = 0, - @HiveField(9) required this.powerLevel, + required this.powerLevel, this.calls, this.events}) : super._(); @@ -971,17 +971,17 @@ class _$SnChannelMemberImpl extends _SnChannelMember { abstract class _SnChannelMember extends SnChannelMember { const factory _SnChannelMember( - {@HiveField(0) required final int id, - @HiveField(1) required final DateTime createdAt, - @HiveField(2) required final DateTime updatedAt, - @HiveField(3) required final DateTime? deletedAt, - @HiveField(4) required final int channelId, - @HiveField(5) required final int accountId, - @HiveField(6) required final String? nick, - @HiveField(7) required final SnChannel? channel, - @HiveField(8) required final SnAccount? account, + {required final int id, + required final DateTime createdAt, + required final DateTime updatedAt, + required final DateTime? deletedAt, + required final int channelId, + required final int accountId, + required final String? nick, + required final SnChannel? channel, + required final SnAccount? account, final int notify, - @HiveField(9) required final int powerLevel, + required final int powerLevel, final dynamic calls, final dynamic events}) = _$SnChannelMemberImpl; const _SnChannelMember._() : super._(); @@ -1085,19 +1085,19 @@ abstract class $SnChatMessageCopyWith<$Res> { _$SnChatMessageCopyWithImpl<$Res, SnChatMessage>; @useResult $Res call( - {@HiveField(0) int id, - @HiveField(1) DateTime createdAt, - @HiveField(2) DateTime updatedAt, - @HiveField(3) DateTime? deletedAt, - @HiveField(4) String uuid, - @HiveField(5) Map body, - @HiveField(6) String type, - @HiveField(7) SnChannel channel, - @HiveField(8) SnChannelMember sender, - @HiveField(9) int channelId, - @HiveField(10) int senderId, - @HiveField(11) int? quoteEventId, - @HiveField(12) int? relatedEventId, + {int id, + DateTime createdAt, + DateTime updatedAt, + DateTime? deletedAt, + String uuid, + Map body, + String type, + SnChannel channel, + SnChannelMember sender, + int channelId, + int senderId, + int? quoteEventId, + int? relatedEventId, SnChatMessagePreload? preload}); $SnChannelCopyWith<$Res> get channel; @@ -1239,19 +1239,19 @@ abstract class _$$SnChatMessageImplCopyWith<$Res> @override @useResult $Res call( - {@HiveField(0) int id, - @HiveField(1) DateTime createdAt, - @HiveField(2) DateTime updatedAt, - @HiveField(3) DateTime? deletedAt, - @HiveField(4) String uuid, - @HiveField(5) Map body, - @HiveField(6) String type, - @HiveField(7) SnChannel channel, - @HiveField(8) SnChannelMember sender, - @HiveField(9) int channelId, - @HiveField(10) int senderId, - @HiveField(11) int? quoteEventId, - @HiveField(12) int? relatedEventId, + {int id, + DateTime createdAt, + DateTime updatedAt, + DateTime? deletedAt, + String uuid, + Map body, + String type, + SnChannel channel, + SnChannelMember sender, + int channelId, + int senderId, + int? quoteEventId, + int? relatedEventId, SnChatMessagePreload? preload}); @override @@ -1356,19 +1356,19 @@ class __$$SnChatMessageImplCopyWithImpl<$Res> @HiveType(typeId: 4) class _$SnChatMessageImpl extends _SnChatMessage { const _$SnChatMessageImpl( - {@HiveField(0) required this.id, - @HiveField(1) required this.createdAt, - @HiveField(2) required this.updatedAt, - @HiveField(3) required this.deletedAt, - @HiveField(4) required this.uuid, - @HiveField(5) final Map body = const {}, - @HiveField(6) required this.type, - @HiveField(7) required this.channel, - @HiveField(8) required this.sender, - @HiveField(9) required this.channelId, - @HiveField(10) required this.senderId, - @HiveField(11) required this.quoteEventId, - @HiveField(12) required this.relatedEventId, + {required this.id, + required this.createdAt, + required this.updatedAt, + required this.deletedAt, + required this.uuid, + final Map body = const {}, + required this.type, + required this.channel, + required this.sender, + required this.channelId, + required this.senderId, + required this.quoteEventId, + required this.relatedEventId, this.preload}) : _body = body, super._(); @@ -1495,19 +1495,19 @@ class _$SnChatMessageImpl extends _SnChatMessage { abstract class _SnChatMessage extends SnChatMessage { const factory _SnChatMessage( - {@HiveField(0) required final int id, - @HiveField(1) required final DateTime createdAt, - @HiveField(2) required final DateTime updatedAt, - @HiveField(3) required final DateTime? deletedAt, - @HiveField(4) required final String uuid, - @HiveField(5) final Map body, - @HiveField(6) required final String type, - @HiveField(7) required final SnChannel channel, - @HiveField(8) required final SnChannelMember sender, - @HiveField(9) required final int channelId, - @HiveField(10) required final int senderId, - @HiveField(11) required final int? quoteEventId, - @HiveField(12) required final int? relatedEventId, + {required final int id, + required final DateTime createdAt, + required final DateTime updatedAt, + required final DateTime? deletedAt, + required final String uuid, + final Map body, + required final String type, + required final SnChannel channel, + required final SnChannelMember sender, + required final int channelId, + required final int senderId, + required final int? quoteEventId, + required final int? relatedEventId, final SnChatMessagePreload? preload}) = _$SnChatMessageImpl; const _SnChatMessage._() : super._(); diff --git a/lib/types/realm.dart b/lib/types/realm.dart index 32f4511..d88d21f 100644 --- a/lib/types/realm.dart +++ b/lib/types/realm.dart @@ -29,20 +29,20 @@ class SnRealm with _$SnRealm { @HiveType(typeId: 1) const factory SnRealm({ - @HiveField(0) required int id, - @HiveField(1) required DateTime createdAt, - @HiveField(2) required DateTime updatedAt, - @HiveField(3) required DateTime? deletedAt, - @HiveField(4) required String alias, - @HiveField(5) required String name, - @HiveField(6) required String description, + required int id, + required DateTime createdAt, + required DateTime updatedAt, + required DateTime? deletedAt, + required String alias, + required String name, + required String description, List? members, - @HiveField(7) required String? avatar, - @HiveField(8) required String? banner, - @HiveField(9) required Map? accessPolicy, - @HiveField(10) required int accountId, - @HiveField(11) required bool isPublic, - @HiveField(12) required bool isCommunity, + required String? avatar, + required String? banner, + required Map? accessPolicy, + required int accountId, + required bool isPublic, + required bool isCommunity, @Default(0) int popularity, }) = _SnRealm; diff --git a/lib/types/realm.freezed.dart b/lib/types/realm.freezed.dart index 70a9734..4a8c71f 100644 --- a/lib/types/realm.freezed.dart +++ b/lib/types/realm.freezed.dart @@ -411,20 +411,20 @@ abstract class $SnRealmCopyWith<$Res> { _$SnRealmCopyWithImpl<$Res, SnRealm>; @useResult $Res call( - {@HiveField(0) int id, - @HiveField(1) DateTime createdAt, - @HiveField(2) DateTime updatedAt, - @HiveField(3) DateTime? deletedAt, - @HiveField(4) String alias, - @HiveField(5) String name, - @HiveField(6) String description, + {int id, + DateTime createdAt, + DateTime updatedAt, + DateTime? deletedAt, + String alias, + String name, + String description, List? members, - @HiveField(7) String? avatar, - @HiveField(8) String? banner, - @HiveField(9) Map? accessPolicy, - @HiveField(10) int accountId, - @HiveField(11) bool isPublic, - @HiveField(12) bool isCommunity, + String? avatar, + String? banner, + Map? accessPolicy, + int accountId, + bool isPublic, + bool isCommunity, int popularity}); } @@ -532,20 +532,20 @@ abstract class _$$SnRealmImplCopyWith<$Res> implements $SnRealmCopyWith<$Res> { @override @useResult $Res call( - {@HiveField(0) int id, - @HiveField(1) DateTime createdAt, - @HiveField(2) DateTime updatedAt, - @HiveField(3) DateTime? deletedAt, - @HiveField(4) String alias, - @HiveField(5) String name, - @HiveField(6) String description, + {int id, + DateTime createdAt, + DateTime updatedAt, + DateTime? deletedAt, + String alias, + String name, + String description, List? members, - @HiveField(7) String? avatar, - @HiveField(8) String? banner, - @HiveField(9) Map? accessPolicy, - @HiveField(10) int accountId, - @HiveField(11) bool isPublic, - @HiveField(12) bool isCommunity, + String? avatar, + String? banner, + Map? accessPolicy, + int accountId, + bool isPublic, + bool isCommunity, int popularity}); } @@ -648,20 +648,20 @@ class __$$SnRealmImplCopyWithImpl<$Res> @HiveType(typeId: 1) class _$SnRealmImpl extends _SnRealm { const _$SnRealmImpl( - {@HiveField(0) required this.id, - @HiveField(1) required this.createdAt, - @HiveField(2) required this.updatedAt, - @HiveField(3) required this.deletedAt, - @HiveField(4) required this.alias, - @HiveField(5) required this.name, - @HiveField(6) required this.description, + {required this.id, + required this.createdAt, + required this.updatedAt, + required this.deletedAt, + required this.alias, + required this.name, + required this.description, final List? members, - @HiveField(7) required this.avatar, - @HiveField(8) required this.banner, - @HiveField(9) required final Map? accessPolicy, - @HiveField(10) required this.accountId, - @HiveField(11) required this.isPublic, - @HiveField(12) required this.isCommunity, + required this.avatar, + required this.banner, + required final Map? accessPolicy, + required this.accountId, + required this.isPublic, + required this.isCommunity, this.popularity = 0}) : _members = members, _accessPolicy = accessPolicy, @@ -805,20 +805,20 @@ class _$SnRealmImpl extends _SnRealm { abstract class _SnRealm extends SnRealm { const factory _SnRealm( - {@HiveField(0) required final int id, - @HiveField(1) required final DateTime createdAt, - @HiveField(2) required final DateTime updatedAt, - @HiveField(3) required final DateTime? deletedAt, - @HiveField(4) required final String alias, - @HiveField(5) required final String name, - @HiveField(6) required final String description, + {required final int id, + required final DateTime createdAt, + required final DateTime updatedAt, + required final DateTime? deletedAt, + required final String alias, + required final String name, + required final String description, final List? members, - @HiveField(7) required final String? avatar, - @HiveField(8) required final String? banner, - @HiveField(9) required final Map? accessPolicy, - @HiveField(10) required final int accountId, - @HiveField(11) required final bool isPublic, - @HiveField(12) required final bool isCommunity, + required final String? avatar, + required final String? banner, + required final Map? accessPolicy, + required final int accountId, + required final bool isPublic, + required final bool isCommunity, final int popularity}) = _$SnRealmImpl; const _SnRealm._() : super._(); diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index c19b7cd..85367b4 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -46,6 +47,9 @@ void fl_register_plugins(FlPluginRegistry* registry) { g_autoptr(FlPluginRegistrar) pasteboard_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "PasteboardPlugin"); pasteboard_plugin_register_with_registrar(pasteboard_registrar); + g_autoptr(FlPluginRegistrar) sqlite3_flutter_libs_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "Sqlite3FlutterLibsPlugin"); + sqlite3_flutter_libs_plugin_register_with_registrar(sqlite3_flutter_libs_registrar); g_autoptr(FlPluginRegistrar) tray_manager_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "TrayManagerPlugin"); tray_manager_plugin_register_with_registrar(tray_manager_registrar); diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 5dfc9ee..6d08ac5 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -12,6 +12,7 @@ list(APPEND FLUTTER_PLUGIN_LIST media_kit_libs_linux media_kit_video pasteboard + sqlite3_flutter_libs tray_manager url_launcher_linux ) diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 5b7a10b..96a5bb8 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -30,6 +30,7 @@ import screen_brightness_macos import share_plus import shared_preferences_foundation import sqflite_darwin +import sqlite3_flutter_libs import tray_manager import url_launcher_macos import video_compress @@ -61,6 +62,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin")) + Sqlite3FlutterLibsPlugin.register(with: registry.registrar(forPlugin: "Sqlite3FlutterLibsPlugin")) TrayManagerPlugin.register(with: registry.registrar(forPlugin: "TrayManagerPlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) VideoCompressPlugin.register(with: registry.registrar(forPlugin: "VideoCompressPlugin")) diff --git a/pubspec.lock b/pubspec.lock index b3ea847..0b5f0f2 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -230,6 +230,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" + charcode: + dependency: transitive + description: + name: charcode + sha256: fb0f1107cac15a5ea6ef0a6ef71a807b9e4267c713bb93e00e92d737cc8dbd8a + url: "https://pub.dev" + source: hosted + version: "1.4.0" checked_yaml: dependency: transitive description: @@ -414,6 +422,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.2" + drift: + dependency: "direct main" + description: + name: drift + sha256: "97d5832657d49f26e7a8e07de397ddc63790b039372878d5117af816d0fdb5cb" + url: "https://pub.dev" + source: hosted + version: "2.25.1" + drift_dev: + dependency: "direct dev" + description: + name: drift_dev + sha256: f1db88482dbb016b9bbddddf746d5d0a6938b156ff20e07320052981f97388cc + url: "https://pub.dev" + source: hosted + version: "2.25.2" + drift_flutter: + dependency: "direct main" + description: + name: drift_flutter + sha256: "0cadbf3b8733409a6cf61d18ba2e94e149df81df7de26f48ae0695b48fd71922" + url: "https://pub.dev" + source: hosted + version: "0.2.4" dropdown_button2: dependency: "direct main" description: @@ -914,30 +946,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.2" - hive: - dependency: "direct main" - description: - name: hive - sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" - url: "https://pub.dev" - source: hosted - version: "2.2.3" - hive_flutter: - dependency: "direct main" - description: - name: hive_flutter - sha256: dca1da446b1d808a51689fb5d0c6c9510c0a2ba01e22805d492c73b68e33eecc - url: "https://pub.dev" - source: hosted - version: "1.1.0" - hive_generator: - dependency: "direct dev" - description: - name: hive_generator - sha256: "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4" - url: "https://pub.dev" - source: hosted - version: "2.0.1" home_widget: dependency: "direct main" description: @@ -1642,6 +1650,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.1.0" + recase: + dependency: transitive + description: + name: recase + sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 + url: "https://pub.dev" + source: hosted + version: "4.1.0" receive_sharing_intent: dependency: "direct main" description: @@ -1935,6 +1951,30 @@ packages: url: "https://pub.dev" source: hosted version: "2.4.0" + sqlite3: + dependency: transitive + description: + name: sqlite3 + sha256: "32b632dda27d664f85520093ed6f735ae5c49b5b75345afb8b19411bc59bb53d" + url: "https://pub.dev" + source: hosted + version: "2.7.4" + sqlite3_flutter_libs: + dependency: transitive + description: + name: sqlite3_flutter_libs + sha256: "57fafacd815c981735406215966ff7caaa8eab984b094f52e692accefcbd9233" + url: "https://pub.dev" + source: hosted + version: "0.5.30" + sqlparser: + dependency: transitive + description: + name: sqlparser + sha256: "27dd0a9f0c02e22ac0eb42a23df9ea079ce69b52bb4a3b478d64e0ef34a263ee" + url: "https://pub.dev" + source: hosted + version: "0.41.0" stack_trace: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 313aa3d..45afe24 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -72,8 +72,6 @@ dependencies: collection: ^1.18.0 mime: ^2.0.0 web_socket_channel: ^3.0.1 - hive: ^2.2.3 - hive_flutter: ^1.1.0 swipe_to: ^1.0.6 firebase_core: ^3.8.0 firebase_messaging: ^15.1.5 @@ -123,6 +121,8 @@ dependencies: image_picker_android: ^0.8.12+20 cached_network_image_platform_interface: ^4.1.1 image_picker_platform_interface: ^2.10.1 + drift: ^2.25.1 + drift_flutter: ^0.2.4 dev_dependencies: flutter_test: @@ -134,13 +134,13 @@ dev_dependencies: # package. See that file for information about deactivating specific lint # rules and activating additional ones. flutter_lints: ^5.0.0 - build_runner: ^2.4.13 + build_runner: ^2.4.15 freezed: ^2.5.7 json_serializable: ^6.8.0 icons_launcher: ^3.0.0 flutter_native_splash: ^2.4.2 - hive_generator: ^2.0.1 flutter_launcher_icons: ^0.14.1 + drift_dev: ^2.25.2 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec diff --git a/web/drift_worker.dart.js b/web/drift_worker.dart.js new file mode 100644 index 0000000..8097ebf --- /dev/null +++ b/web/drift_worker.dart.js @@ -0,0 +1,13631 @@ +(function dartProgram(){function copyProperties(a,b){var s=Object.keys(a) +for(var r=0;r=0)return true +if(typeof version=="function"&&version.length==0){var q=version() +if(/^\d+\.\d+\.\d+\.\d+$/.test(q))return true}}catch(p){}return false}() +function inherit(a,b){a.prototype.constructor=a +a.prototype["$i"+a.name]=a +if(b!=null){if(z){Object.setPrototypeOf(a.prototype,b.prototype) +return}var s=Object.create(b.prototype) +copyProperties(a.prototype,s) +a.prototype=s}}function inheritMany(a,b){for(var s=0;s4294967295)throw A.a(A.W(a,0,4294967295,"length",null)) +return J.uA(new Array(a),b)}, +qd(a,b){if(a<0)throw A.a(A.K("Length must be a non-negative integer: "+a,null)) +return A.d(new Array(a),b.h("w<0>"))}, +qb(a,b){if(a<0)throw A.a(A.K("Length must be a non-negative integer: "+a,null)) +return A.d(new Array(a),b.h("w<0>"))}, +uA(a,b){var s=A.d(a,b.h("w<0>")) +s.$flags=1 +return s}, +uB(a,b){return J.tY(a,b)}, +qe(a){if(a<256)switch(a){case 9:case 10:case 11:case 12:case 13:case 32:case 133:case 160:return!0 +default:return!1}switch(a){case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8232:case 8233:case 8239:case 8287:case 12288:case 65279:return!0 +default:return!1}}, +uC(a,b){var s,r +for(s=a.length;b0;b=s){s=b-1 +r=a.charCodeAt(s) +if(r!==32&&r!==13&&!J.qe(r))break}return b}, +cU(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.eq.prototype +return J.hh.prototype}if(typeof a=="string")return J.bY.prototype +if(a==null)return J.er.prototype +if(typeof a=="boolean")return J.hg.prototype +if(Array.isArray(a))return J.w.prototype +if(typeof a!="object"){if(typeof a=="function")return J.bv.prototype +if(typeof a=="symbol")return J.d6.prototype +if(typeof a=="bigint")return J.aA.prototype +return a}if(a instanceof A.e)return a +return J.ol(a)}, +Z(a){if(typeof a=="string")return J.bY.prototype +if(a==null)return a +if(Array.isArray(a))return J.w.prototype +if(typeof a!="object"){if(typeof a=="function")return J.bv.prototype +if(typeof a=="symbol")return J.d6.prototype +if(typeof a=="bigint")return J.aA.prototype +return a}if(a instanceof A.e)return a +return J.ol(a)}, +aP(a){if(a==null)return a +if(Array.isArray(a))return J.w.prototype +if(typeof a!="object"){if(typeof a=="function")return J.bv.prototype +if(typeof a=="symbol")return J.d6.prototype +if(typeof a=="bigint")return J.aA.prototype +return a}if(a instanceof A.e)return a +return J.ol(a)}, +xr(a){if(typeof a=="number")return J.d5.prototype +if(typeof a=="string")return J.bY.prototype +if(a==null)return a +if(!(a instanceof A.e))return J.cF.prototype +return a}, +fB(a){if(typeof a=="string")return J.bY.prototype +if(a==null)return a +if(!(a instanceof A.e))return J.cF.prototype +return a}, +rW(a){if(a==null)return a +if(typeof a!="object"){if(typeof a=="function")return J.bv.prototype +if(typeof a=="symbol")return J.d6.prototype +if(typeof a=="bigint")return J.aA.prototype +return a}if(a instanceof A.e)return a +return J.ol(a)}, +a6(a,b){if(a==null)return b==null +if(typeof a!="object")return b!=null&&a===b +return J.cU(a).W(a,b)}, +aH(a,b){if(typeof b==="number")if(Array.isArray(a)||typeof a=="string"||A.t_(a,a[v.dispatchPropertyName]))if(b>>>0===b&&b>>0===b&&b").b(a))return new A.f_(a,b.h("@<0>").H(c).h("f_<1,2>")) +return new A.cp(a,b.h("@<0>").H(c).h("cp<1,2>"))}, +uE(a){return new A.bZ("Field '"+a+"' has not been initialized.")}, +om(a){var s,r=a^48 +if(r<=9)return r +s=a|32 +if(97<=s&&s<=102)return s-87 +return-1}, +ca(a,b){a=a+b&536870911 +a=a+((a&524287)<<10)&536870911 +return a^a>>>6}, +oY(a){a=a+((a&67108863)<<3)&536870911 +a^=a>>>11 +return a+((a&16383)<<15)&536870911}, +cS(a,b,c){return a}, +pz(a){var s,r +for(s=$.cV.length,r=0;rc)A.B(A.W(b,0,c,"start",null))}return new A.cD(a,b,c,d.h("cD<0>"))}, +eu(a,b,c,d){if(t.Q.b(a))return new A.cu(a,b,c.h("@<0>").H(d).h("cu<1,2>")) +return new A.aB(a,b,c.h("@<0>").H(d).h("aB<1,2>"))}, +oZ(a,b,c){var s="takeCount" +A.bU(b,s) +A.ac(b,s) +if(t.Q.b(a))return new A.ei(a,b,c.h("ei<0>")) +return new A.cE(a,b,c.h("cE<0>"))}, +qB(a,b,c){var s="count" +if(t.Q.b(a)){A.bU(b,s) +A.ac(b,s) +return new A.d1(a,b,c.h("d1<0>"))}A.bU(b,s) +A.ac(b,s) +return new A.bD(a,b,c.h("bD<0>"))}, +uy(a,b,c){return new A.ct(a,b,c.h("ct<0>"))}, +am(){return new A.b2("No element")}, +qa(){return new A.b2("Too few elements")}, +cf:function cf(){}, +fT:function fT(a,b){this.a=a +this.$ti=b}, +cp:function cp(a,b){this.a=a +this.$ti=b}, +f_:function f_(a,b){this.a=a +this.$ti=b}, +eV:function eV(){}, +aj:function aj(a,b){this.a=a +this.$ti=b}, +bZ:function bZ(a){this.a=a}, +ec:function ec(a){this.a=a}, +ot:function ot(){}, +kL:function kL(){}, +u:function u(){}, +Q:function Q(){}, +cD:function cD(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +aZ:function aZ(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +aB:function aB(a,b,c){this.a=a +this.b=b +this.$ti=c}, +cu:function cu(a,b,c){this.a=a +this.b=b +this.$ti=c}, +b0:function b0(a,b,c){var _=this +_.a=null +_.b=a +_.c=b +_.$ti=c}, +E:function E(a,b,c){this.a=a +this.b=b +this.$ti=c}, +aU:function aU(a,b,c){this.a=a +this.b=b +this.$ti=c}, +eP:function eP(a,b){this.a=a +this.b=b}, +ek:function ek(a,b,c){this.a=a +this.b=b +this.$ti=c}, +h6:function h6(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=null +_.$ti=d}, +cE:function cE(a,b,c){this.a=a +this.b=b +this.$ti=c}, +ei:function ei(a,b,c){this.a=a +this.b=b +this.$ti=c}, +hM:function hM(a,b,c){this.a=a +this.b=b +this.$ti=c}, +bD:function bD(a,b,c){this.a=a +this.b=b +this.$ti=c}, +d1:function d1(a,b,c){this.a=a +this.b=b +this.$ti=c}, +hG:function hG(a,b){this.a=a +this.b=b}, +eE:function eE(a,b,c){this.a=a +this.b=b +this.$ti=c}, +hH:function hH(a,b){this.a=a +this.b=b +this.c=!1}, +cv:function cv(a){this.$ti=a}, +h3:function h3(){}, +eQ:function eQ(a,b){this.a=a +this.$ti=b}, +i3:function i3(a,b){this.a=a +this.$ti=b}, +bu:function bu(a,b,c){this.a=a +this.b=b +this.$ti=c}, +ct:function ct(a,b,c){this.a=a +this.b=b +this.$ti=c}, +eo:function eo(a,b){this.a=a +this.b=b +this.c=-1}, +el:function el(){}, +hQ:function hQ(){}, +dn:function dn(){}, +eD:function eD(a,b){this.a=a +this.$ti=b}, +hL:function hL(a){this.a=a}, +fv:function fv(){}, +t8(a){var s=v.mangledGlobalNames[a] +if(s!=null)return s +return"minified:"+a}, +t_(a,b){var s +if(b!=null){s=b.x +if(s!=null)return s}return t.aU.b(a)}, +v(a){var s +if(typeof a=="string")return a +if(typeof a=="number"){if(a!==0)return""+a}else if(!0===a)return"true" +else if(!1===a)return"false" +else if(a==null)return"null" +s=J.aW(a) +return s}, +eC(a){var s,r=$.qk +if(r==null)r=$.qk=Symbol("identityHashCode") +s=a[r] +if(s==null){s=Math.random()*0x3fffffff|0 +a[r]=s}return s}, +qr(a,b){var s,r,q,p,o,n=null,m=/^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(a) +if(m==null)return n +s=m[3] +if(b==null){if(s!=null)return parseInt(a,10) +if(m[2]!=null)return parseInt(a,16) +return n}if(b<2||b>36)throw A.a(A.W(b,2,36,"radix",n)) +if(b===10&&s!=null)return parseInt(a,10) +if(b<10||s==null){r=b<=10?47+b:86+b +q=m[1] +for(p=q.length,o=0;or)return n}return parseInt(a,b)}, +ky(a){return A.uN(a)}, +uN(a){var s,r,q,p +if(a instanceof A.e)return A.aN(A.aG(a),null) +s=J.cU(a) +if(s===B.aG||s===B.aJ||t.ak.b(a)){r=B.a2(a) +if(r!=="Object"&&r!=="")return r +q=a.constructor +if(typeof q=="function"){p=q.name +if(typeof p=="string"&&p!=="Object"&&p!=="")return p}}return A.aN(A.aG(a),null)}, +qs(a){if(a==null||typeof a=="number"||A.bP(a))return J.aW(a) +if(typeof a=="string")return JSON.stringify(a) +if(a instanceof A.cq)return a.j(0) +if(a instanceof A.fe)return a.fQ(!0) +return"Instance of '"+A.ky(a)+"'"}, +uO(){if(!!self.location)return self.location.href +return null}, +qj(a){var s,r,q,p,o=a.length +if(o<=500)return String.fromCharCode.apply(null,a) +for(s="",r=0;r65535)return A.uS(a)}return A.qj(a)}, +uT(a,b,c){var s,r,q,p +if(c<=500&&b===0&&c===a.length)return String.fromCharCode.apply(null,a) +for(s=b,r="";s>>0,s&1023|56320)}}throw A.a(A.W(a,0,1114111,null,null))}, +aC(a){if(a.date===void 0)a.date=new Date(a.a) +return a.date}, +qq(a){return a.c?A.aC(a).getUTCFullYear()+0:A.aC(a).getFullYear()+0}, +qo(a){return a.c?A.aC(a).getUTCMonth()+1:A.aC(a).getMonth()+1}, +ql(a){return a.c?A.aC(a).getUTCDate()+0:A.aC(a).getDate()+0}, +qm(a){return a.c?A.aC(a).getUTCHours()+0:A.aC(a).getHours()+0}, +qn(a){return a.c?A.aC(a).getUTCMinutes()+0:A.aC(a).getMinutes()+0}, +qp(a){return a.c?A.aC(a).getUTCSeconds()+0:A.aC(a).getSeconds()+0}, +uQ(a){return a.c?A.aC(a).getUTCMilliseconds()+0:A.aC(a).getMilliseconds()+0}, +uR(a){return B.b.ae((a.c?A.aC(a).getUTCDay()+0:A.aC(a).getDay()+0)+6,7)+1}, +uP(a){var s=a.$thrownJsError +if(s==null)return null +return A.S(s)}, +kz(a,b){var s +if(a.$thrownJsError==null){s=A.a(a) +a.$thrownJsError=s +s.stack=b.j(0)}}, +e0(a,b){var s,r="index" +if(!A.bp(b))return new A.aX(!0,b,r,null) +s=J.ae(a) +if(b<0||b>=s)return A.hc(b,s,a,null,r) +return A.kD(b,r)}, +xl(a,b,c){if(a>c)return A.W(a,0,c,"start",null) +if(b!=null)if(bc)return A.W(b,a,c,"end",null) +return new A.aX(!0,b,"end",null)}, +dY(a){return new A.aX(!0,a,null,null)}, +a(a){return A.rY(new Error(),a)}, +rY(a,b){var s +if(b==null)b=new A.bF() +a.dartException=b +s=A.y_ +if("defineProperty" in Object){Object.defineProperty(a,"message",{get:s}) +a.name=""}else a.toString=s +return a}, +y_(){return J.aW(this.dartException)}, +B(a){throw A.a(a)}, +iY(a,b){throw A.rY(b,a)}, +z(a,b,c){var s +if(b==null)b=0 +if(c==null)c=0 +s=Error() +A.iY(A.wc(a,b,c),s)}, +wc(a,b,c){var s,r,q,p,o,n,m,l,k +if(typeof b=="string")s=b +else{r="[]=;add;removeWhere;retainWhere;removeRange;setRange;setInt8;setInt16;setInt32;setUint8;setUint16;setUint32;setFloat32;setFloat64".split(";") +q=r.length +p=b +if(p>q){c=p/q|0 +p%=q}s=r[p]}o=typeof c=="string"?c:"modify;remove from;add to".split(";")[c] +n=t.j.b(a)?"list":"ByteData" +m=a.$flags|0 +l="a " +if((m&4)!==0)k="constant " +else if((m&2)!==0){k="unmodifiable " +l="an "}else k=(m&1)!==0?"fixed-length ":"" +return new A.eM("'"+s+"': Cannot "+o+" "+l+k+n)}, +V(a){throw A.a(A.az(a))}, +bG(a){var s,r,q,p,o,n +a=A.t7(a.replace(String({}),"$receiver$")) +s=a.match(/\\\$[a-zA-Z]+\\\$/g) +if(s==null)s=A.d([],t.s) +r=s.indexOf("\\$arguments\\$") +q=s.indexOf("\\$argumentsExpr\\$") +p=s.indexOf("\\$expr\\$") +o=s.indexOf("\\$method\\$") +n=s.indexOf("\\$receiver\\$") +return new A.lo(a.replace(new RegExp("\\\\\\$arguments\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$","g"),"((?:x|[^x])*)"),r,q,p,o,n)}, +lp(a){return function($expr$){var $argumentsExpr$="$arguments$" +try{$expr$.$method$($argumentsExpr$)}catch(s){return s.message}}(a)}, +qK(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)}, +oQ(a,b){var s=b==null,r=s?null:b.method +return new A.hj(a,r,s?null:b.receiver)}, +F(a){if(a==null)return new A.hx(a) +if(a instanceof A.ej)return A.cm(a,a.a) +if(typeof a!=="object")return a +if("dartException" in a)return A.cm(a,a.dartException) +return A.wT(a)}, +cm(a,b){if(t.C.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a +return b}, +wT(a){var s,r,q,p,o,n,m,l,k,j,i,h,g +if(!("message" in a))return a +s=a.message +if("number" in a&&typeof a.number=="number"){r=a.number +q=r&65535 +if((B.b.O(r,16)&8191)===10)switch(q){case 438:return A.cm(a,A.oQ(A.v(s)+" (Error "+q+")",null)) +case 445:case 5007:A.v(s) +return A.cm(a,new A.ey())}}if(a instanceof TypeError){p=$.tf() +o=$.tg() +n=$.th() +m=$.ti() +l=$.tl() +k=$.tm() +j=$.tk() +$.tj() +i=$.to() +h=$.tn() +g=p.au(s) +if(g!=null)return A.cm(a,A.oQ(s,g)) +else{g=o.au(s) +if(g!=null){g.method="call" +return A.cm(a,A.oQ(s,g))}else if(n.au(s)!=null||m.au(s)!=null||l.au(s)!=null||k.au(s)!=null||j.au(s)!=null||m.au(s)!=null||i.au(s)!=null||h.au(s)!=null)return A.cm(a,new A.ey())}return A.cm(a,new A.hP(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.eH() +s=function(b){try{return String(b)}catch(f){}return null}(a) +return A.cm(a,new A.aX(!1,null,null,typeof s=="string"?s.replace(/^RangeError:\s*/,""):s))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof s=="string"&&s==="too much recursion")return new A.eH() +return a}, +S(a){var s +if(a instanceof A.ej)return a.b +if(a==null)return new A.fi(a) +s=a.$cachedTrace +if(s!=null)return s +s=new A.fi(a) +if(typeof a==="object")a.$cachedTrace=s +return s}, +pB(a){if(a==null)return J.ay(a) +if(typeof a=="object")return A.eC(a) +return J.ay(a)}, +xn(a,b){var s,r,q,p=a.length +for(s=0;s=0 +else if(b instanceof A.cx){s=B.a.L(a,c) +return b.b.test(s)}else return!J.oE(b,B.a.L(a,c)).gF(0)}, +pw(a){if(a.indexOf("$",0)>=0)return a.replace(/\$/g,"$$$$") +return a}, +xW(a,b,c,d){var s=b.fe(a,d) +if(s==null)return a +return A.pE(a,s.b.index,s.gbA(),c)}, +t7(a){if(/[[\]{}()*+?.\\^$|]/.test(a))return a.replace(/[[\]{}()*+?.\\^$|]/g,"\\$&") +return a}, +bc(a,b,c){var s +if(typeof b=="string")return A.xV(a,b,c) +if(b instanceof A.cx){s=b.gfq() +s.lastIndex=0 +return a.replace(s,A.pw(c))}return A.xU(a,b,c)}, +xU(a,b,c){var s,r,q,p +for(s=J.oE(b,a),s=s.gt(s),r=0,q="";s.k();){p=s.gm() +q=q+a.substring(r,p.gcq())+c +r=p.gbA()}s=q+a.substring(r) +return s.charCodeAt(0)==0?s:s}, +xV(a,b,c){var s,r,q +if(b===""){if(a==="")return c +s=a.length +r=""+c +for(q=0;q=0)return a.split(b).join(c) +return a.replace(new RegExp(A.t7(b),"g"),A.pw(c))}, +xX(a,b,c,d){var s,r,q,p +if(typeof b=="string"){s=a.indexOf(b,d) +if(s<0)return a +return A.pE(a,s,s+b.length,c)}if(b instanceof A.cx)return d===0?a.replace(b.b,A.pw(c)):A.xW(a,b,c,d) +r=J.tV(b,a,d) +q=r.gt(r) +if(!q.k())return a +p=q.gm() +return B.a.aL(a,p.gcq(),p.gbA(),c)}, +pE(a,b,c,d){return a.substring(0,b)+d+a.substring(c)}, +ai:function ai(a,b){this.a=a +this.b=b}, +cN:function cN(a,b){this.a=a +this.b=b}, +ed:function ed(){}, +ee:function ee(a,b,c){this.a=a +this.b=b +this.$ti=c}, +cM:function cM(a,b){this.a=a +this.$ti=b}, +it:function it(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +kb:function kb(){}, +ep:function ep(a,b){this.a=a +this.$ti=b}, +lo:function lo(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +ey:function ey(){}, +hj:function hj(a,b,c){this.a=a +this.b=b +this.c=c}, +hP:function hP(a){this.a=a}, +hx:function hx(a){this.a=a}, +ej:function ej(a,b){this.a=a +this.b=b}, +fi:function fi(a){this.a=a +this.b=null}, +cq:function cq(){}, +jh:function jh(){}, +ji:function ji(){}, +le:function le(){}, +l4:function l4(){}, +e8:function e8(a,b){this.a=a +this.b=b}, +ie:function ie(a){this.a=a}, +hD:function hD(a){this.a=a}, +bw:function bw(a){var _=this +_.a=0 +_.f=_.e=_.d=_.c=_.b=null +_.r=0 +_.$ti=a}, +kj:function kj(a){this.a=a}, +ki:function ki(a){this.a=a}, +km:function km(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +b9:function b9(a,b){this.a=a +this.$ti=b}, +hm:function hm(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +on:function on(a){this.a=a}, +oo:function oo(a){this.a=a}, +op:function op(a){this.a=a}, +fe:function fe(){}, +iz:function iz(){}, +cx:function cx(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +dF:function dF(a){this.b=a}, +i4:function i4(a,b,c){this.a=a +this.b=b +this.c=c}, +m_:function m_(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=null}, +dm:function dm(a,b){this.a=a +this.c=b}, +iH:function iH(a,b,c){this.a=a +this.b=b +this.c=c}, +nH:function nH(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=null}, +xZ(a){A.iY(new A.bZ("Field '"+a+"' has been assigned during initialization."),new Error())}, +H(){A.iY(new A.bZ("Field '' has not been initialized."),new Error())}, +pG(){A.iY(new A.bZ("Field '' has already been initialized."),new Error())}, +oz(){A.iY(new A.bZ("Field '' has been assigned during initialization."),new Error())}, +mg(a){var s=new A.mf(a) +return s.b=s}, +mf:function mf(a){this.a=a +this.b=null}, +w9(a){return a}, +fw(a,b,c){}, +iR(a){var s,r,q +if(t.aP.b(a))return a +s=J.Z(a) +r=A.b_(s.gl(a),null,!1,t.z) +for(q=0;q>>0!==a||a>=c)throw A.a(A.e0(b,a))}, +cj(a,b,c){var s +if(!(a>>>0!==a))s=b>>>0!==b||a>b||b>c +else s=!0 +if(s)throw A.a(A.xl(a,b,c)) +return b}, +d7:function d7(){}, +ew:function ew(){}, +iO:function iO(a){this.a=a}, +cy:function cy(){}, +d9:function d9(){}, +c1:function c1(){}, +aT:function aT(){}, +ho:function ho(){}, +hp:function hp(){}, +hq:function hq(){}, +d8:function d8(){}, +hr:function hr(){}, +hs:function hs(){}, +ht:function ht(){}, +ex:function ex(){}, +c2:function c2(){}, +f9:function f9(){}, +fa:function fa(){}, +fb:function fb(){}, +fc:function fc(){}, +qy(a,b){var s=b.c +return s==null?b.c=A.pg(a,b.x,!0):s}, +oU(a,b){var s=b.c +return s==null?b.c=A.fo(a,"D",[b.x]):s}, +qz(a){var s=a.w +if(s===6||s===7||s===8)return A.qz(a.x) +return s===12||s===13}, +uW(a){return a.as}, +av(a){return A.iN(v.typeUniverse,a,!1)}, +xz(a,b){var s,r,q,p,o +if(a==null)return null +s=b.y +r=a.Q +if(r==null)r=a.Q=new Map() +q=b.as +p=r.get(q) +if(p!=null)return p +o=A.bQ(v.typeUniverse,a.x,s,0) +r.set(q,o) +return o}, +bQ(a1,a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=a2.w +switch(a0){case 5:case 1:case 2:case 3:case 4:return a2 +case 6:s=a2.x +r=A.bQ(a1,s,a3,a4) +if(r===s)return a2 +return A.rd(a1,r,!0) +case 7:s=a2.x +r=A.bQ(a1,s,a3,a4) +if(r===s)return a2 +return A.pg(a1,r,!0) +case 8:s=a2.x +r=A.bQ(a1,s,a3,a4) +if(r===s)return a2 +return A.rb(a1,r,!0) +case 9:q=a2.y +p=A.dV(a1,q,a3,a4) +if(p===q)return a2 +return A.fo(a1,a2.x,p) +case 10:o=a2.x +n=A.bQ(a1,o,a3,a4) +m=a2.y +l=A.dV(a1,m,a3,a4) +if(n===o&&l===m)return a2 +return A.pe(a1,n,l) +case 11:k=a2.x +j=a2.y +i=A.dV(a1,j,a3,a4) +if(i===j)return a2 +return A.rc(a1,k,i) +case 12:h=a2.x +g=A.bQ(a1,h,a3,a4) +f=a2.y +e=A.wQ(a1,f,a3,a4) +if(g===h&&e===f)return a2 +return A.ra(a1,g,e) +case 13:d=a2.y +a4+=d.length +c=A.dV(a1,d,a3,a4) +o=a2.x +n=A.bQ(a1,o,a3,a4) +if(c===d&&n===o)return a2 +return A.pf(a1,n,c,!0) +case 14:b=a2.x +if(b") +for(r=1;r=0)p+=" "+r[q];++q}return p+"})"}, +rB(a3,a4,a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1=", ",a2=null +if(a5!=null){s=a5.length +if(a4==null)a4=A.d([],t.s) +else a2=a4.length +r=a4.length +for(q=s;q>0;--q)a4.push("T"+(r+q)) +for(p=t.X,o=t._,n="<",m="",q=0;q0){a+=a0+"[" +for(a0="",q=0;q0){a+=a0+"{" +for(a0="",q=0;q "+b}, +aN(a,b){var s,r,q,p,o,n,m=a.w +if(m===5)return"erased" +if(m===2)return"dynamic" +if(m===3)return"void" +if(m===1)return"Never" +if(m===4)return"any" +if(m===6)return A.aN(a.x,b) +if(m===7){s=a.x +r=A.aN(s,b) +q=s.w +return(q===12||q===13?"("+r+")":r)+"?"}if(m===8)return"FutureOr<"+A.aN(a.x,b)+">" +if(m===9){p=A.wS(a.x) +o=a.y +return o.length>0?p+("<"+A.rK(o,b)+">"):p}if(m===11)return A.wE(a,b) +if(m===12)return A.rB(a,b,null) +if(m===13)return A.rB(a.x,b,a.y) +if(m===14){n=a.x +return b[b.length-1-n]}return"?"}, +wS(a){var s=v.mangledGlobalNames[a] +if(s!=null)return s +return"minified:"+a}, +vJ(a,b){var s=a.tR[b] +for(;typeof s=="string";)s=a.tR[s] +return s}, +vI(a,b){var s,r,q,p,o,n=a.eT,m=n[b] +if(m==null)return A.iN(a,b,!1) +else if(typeof m=="number"){s=m +r=A.fp(a,5,"#") +q=A.nV(s) +for(p=0;p0)p+="<"+A.fn(c)+">" +s=a.eC.get(p) +if(s!=null)return s +r=new A.b1(null,null) +r.w=9 +r.x=b +r.y=c +if(c.length>0)r.c=c[0] +r.as=p +q=A.bM(a,r) +a.eC.set(p,q) +return q}, +pe(a,b,c){var s,r,q,p,o,n +if(b.w===10){s=b.x +r=b.y.concat(c)}else{r=c +s=b}q=s.as+(";<"+A.fn(r)+">") +p=a.eC.get(q) +if(p!=null)return p +o=new A.b1(null,null) +o.w=10 +o.x=s +o.y=r +o.as=q +n=A.bM(a,o) +a.eC.set(q,n) +return n}, +rc(a,b,c){var s,r,q="+"+(b+"("+A.fn(c)+")"),p=a.eC.get(q) +if(p!=null)return p +s=new A.b1(null,null) +s.w=11 +s.x=b +s.y=c +s.as=q +r=A.bM(a,s) +a.eC.set(q,r) +return r}, +ra(a,b,c){var s,r,q,p,o,n=b.as,m=c.a,l=m.length,k=c.b,j=k.length,i=c.c,h=i.length,g="("+A.fn(m) +if(j>0){s=l>0?",":"" +g+=s+"["+A.fn(k)+"]"}if(h>0){s=l>0?",":"" +g+=s+"{"+A.vA(i)+"}"}r=n+(g+")") +q=a.eC.get(r) +if(q!=null)return q +p=new A.b1(null,null) +p.w=12 +p.x=b +p.y=c +p.as=r +o=A.bM(a,p) +a.eC.set(r,o) +return o}, +pf(a,b,c,d){var s,r=b.as+("<"+A.fn(c)+">"),q=a.eC.get(r) +if(q!=null)return q +s=A.vC(a,b,c,r,d) +a.eC.set(r,s) +return s}, +vC(a,b,c,d,e){var s,r,q,p,o,n,m,l +if(e){s=c.length +r=A.nV(s) +for(q=0,p=0;p0){n=A.bQ(a,b,r,0) +m=A.dV(a,c,r,0) +return A.pf(a,n,m,c!==m)}}l=new A.b1(null,null) +l.w=13 +l.x=b +l.y=c +l.as=d +return A.bM(a,l)}, +r4(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}}, +r6(a){var s,r,q,p,o,n,m,l=a.r,k=a.s +for(s=l.length,r=0;r=48&&q<=57)r=A.vr(r+1,q,l,k) +else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.r5(a,r,l,k,!1) +else if(q===46)r=A.r5(a,r,l,k,!0) +else{++r +switch(q){case 44:break +case 58:k.push(!1) +break +case 33:k.push(!0) +break +case 59:k.push(A.ci(a.u,a.e,k.pop())) +break +case 94:k.push(A.vF(a.u,k.pop())) +break +case 35:k.push(A.fp(a.u,5,"#")) +break +case 64:k.push(A.fp(a.u,2,"@")) +break +case 126:k.push(A.fp(a.u,3,"~")) +break +case 60:k.push(a.p) +a.p=k.length +break +case 62:A.vt(a,k) +break +case 38:A.vs(a,k) +break +case 42:p=a.u +k.push(A.rd(p,A.ci(p,a.e,k.pop()),a.n)) +break +case 63:p=a.u +k.push(A.pg(p,A.ci(p,a.e,k.pop()),a.n)) +break +case 47:p=a.u +k.push(A.rb(p,A.ci(p,a.e,k.pop()),a.n)) +break +case 40:k.push(-3) +k.push(a.p) +a.p=k.length +break +case 41:A.vq(a,k) +break +case 91:k.push(a.p) +a.p=k.length +break +case 93:o=k.splice(a.p) +A.r7(a.u,a.e,o) +a.p=k.pop() +k.push(o) +k.push(-1) +break +case 123:k.push(a.p) +a.p=k.length +break +case 125:o=k.splice(a.p) +A.vv(a.u,a.e,o) +a.p=k.pop() +k.push(o) +k.push(-2) +break +case 43:n=l.indexOf("(",r) +k.push(l.substring(r,n)) +k.push(-4) +k.push(a.p) +a.p=k.length +r=n+1 +break +default:throw"Bad character "+q}}}m=k.pop() +return A.ci(a.u,a.e,m)}, +vr(a,b,c,d){var s,r,q=b-48 +for(s=c.length;a=48&&r<=57))break +q=q*10+(r-48)}d.push(q) +return a}, +r5(a,b,c,d,e){var s,r,q,p,o,n,m=b+1 +for(s=c.length;m>>0)-97&65535)<26||r===95||r===36||r===124))q=r>=48&&r<=57 +else q=!0 +if(!q)break}}p=c.substring(b,m) +if(e){s=a.u +o=a.e +if(o.w===10)o=o.x +n=A.vJ(s,o.x)[p] +if(n==null)A.B('No "'+p+'" in "'+A.uW(o)+'"') +d.push(A.fq(s,o,n))}else d.push(p) +return m}, +vt(a,b){var s,r=a.u,q=A.r3(a,b),p=b.pop() +if(typeof p=="string")b.push(A.fo(r,p,q)) +else{s=A.ci(r,a.e,p) +switch(s.w){case 12:b.push(A.pf(r,s,q,a.n)) +break +default:b.push(A.pe(r,s,q)) +break}}}, +vq(a,b){var s,r,q,p=a.u,o=b.pop(),n=null,m=null +if(typeof o=="number")switch(o){case-1:n=b.pop() +break +case-2:m=b.pop() +break +default:b.push(o) +break}else b.push(o) +s=A.r3(a,b) +o=b.pop() +switch(o){case-3:o=b.pop() +if(n==null)n=p.sEA +if(m==null)m=p.sEA +r=A.ci(p,a.e,o) +q=new A.im() +q.a=s +q.b=n +q.c=m +b.push(A.ra(p,r,q)) +return +case-4:b.push(A.rc(p,b.pop(),s)) +return +default:throw A.a(A.e5("Unexpected state under `()`: "+A.v(o)))}}, +vs(a,b){var s=b.pop() +if(0===s){b.push(A.fp(a.u,1,"0&")) +return}if(1===s){b.push(A.fp(a.u,4,"1&")) +return}throw A.a(A.e5("Unexpected extended operation "+A.v(s)))}, +r3(a,b){var s=b.splice(a.p) +A.r7(a.u,a.e,s) +a.p=b.pop() +return s}, +ci(a,b,c){if(typeof c=="string")return A.fo(a,c,a.sEA) +else if(typeof c=="number"){b.toString +return A.vu(a,b,c)}else return c}, +r7(a,b,c){var s,r=c.length +for(s=0;sn)return!1 +m=n-o +l=s.b +k=r.b +j=l.length +i=k.length +if(o+j=d)return!1 +a1=f[b] +b+=3 +if(a00?new Array(q):v.typeUniverse.sEA +for(o=0;o0?new Array(a):v.typeUniverse.sEA}, +b1:function b1(a,b){var _=this +_.a=a +_.b=b +_.r=_.f=_.d=_.c=null +_.w=0 +_.as=_.Q=_.z=_.y=_.x=null}, +im:function im(){this.c=this.b=this.a=null}, +nN:function nN(a){this.a=a}, +ii:function ii(){}, +fm:function fm(a){this.a=a}, +vc(){var s,r,q={} +if(self.scheduleImmediate!=null)return A.wW() +if(self.MutationObserver!=null&&self.document!=null){s=self.document.createElement("div") +r=self.document.createElement("span") +q.a=null +new self.MutationObserver(A.cl(new A.m1(q),1)).observe(s,{childList:true}) +return new A.m0(q,s,r)}else if(self.setImmediate!=null)return A.wX() +return A.wY()}, +vd(a){self.scheduleImmediate(A.cl(new A.m2(a),0))}, +ve(a){self.setImmediate(A.cl(new A.m3(a),0))}, +vf(a){A.p_(B.A,a)}, +p_(a,b){var s=B.b.I(a.a,1000) +return A.vx(s<0?0:s,b)}, +vx(a,b){var s=new A.iK() +s.hY(a,b) +return s}, +vy(a,b){var s=new A.iK() +s.hZ(a,b) +return s}, +o(a){return new A.i5(new A.k($.j,a.h("k<0>")),a.h("i5<0>"))}, +n(a,b){a.$2(0,null) +b.b=!0 +return b.a}, +c(a,b){A.w0(a,b)}, +m(a,b){b.P(a)}, +l(a,b){b.bz(A.F(a),A.S(a))}, +w0(a,b){var s,r,q=new A.nX(b),p=new A.nY(b) +if(a instanceof A.k)a.fO(q,p,t.z) +else{s=t.z +if(a instanceof A.k)a.bI(q,p,s) +else{r=new A.k($.j,t.eI) +r.a=8 +r.c=a +r.fO(q,p,s)}}}, +p(a){var s=function(b,c){return function(d,e){while(true){try{b(d,e) +break}catch(r){e=r +d=c}}}}(a,1) +return $.j.d7(new A.oe(s),t.H,t.S,t.z)}, +r9(a,b,c){return 0}, +oF(a){var s +if(t.C.b(a)){s=a.gbl() +if(s!=null)return s}return B.x}, +uw(a,b){var s=new A.k($.j,b.h("k<0>")) +A.qE(B.A,new A.k4(a,s)) +return s}, +k3(a,b){var s,r,q,p,o,n=null +try{n=a.$0()}catch(p){s=A.F(p) +r=A.S(p) +q=new A.k($.j,b.h("k<0>")) +s=s +r=r +o=A.iT(s,r) +if(o!=null){s=o.a +r=o.b}q.aO(s,r) +return q}return b.h("D<0>").b(n)?n:A.f4(n,b)}, +b8(a,b){var s=a==null?b.a(a):a,r=new A.k($.j,b.h("k<0>")) +r.b1(s) +return r}, +q6(a,b,c){var s=A.o6(a,b),r=new A.k($.j,c.h("k<0>")) +r.aO(s.a,s.b) +return r}, +q5(a,b){var s,r=!b.b(null) +if(r)throw A.a(A.af(null,"computation","The type parameter is not nullable")) +s=new A.k($.j,b.h("k<0>")) +A.qE(a,new A.k2(null,s,b)) +return s}, +oK(a,b){var s,r,q,p,o,n,m,l,k={},j=null,i=!1,h=new A.k($.j,b.h("k>")) +k.a=null +k.b=0 +k.c=k.d=null +s=new A.k6(k,j,i,h) +try{for(n=J.M(a),m=t.P;n.k();){r=n.gm() +q=k.b +r.bI(new A.k5(k,q,h,b,j,i),s,m);++k.b}n=k.b +if(n===0){n=h +n.bq(A.d([],b.h("w<0>"))) +return n}k.a=A.b_(n,null,!1,b.h("0?"))}catch(l){p=A.F(l) +o=A.S(l) +if(k.b===0||i)return A.q6(p,o,b.h("q<0>")) +else{k.d=p +k.c=o}}return h}, +pl(a,b,c){var s=A.iT(b,c) +if(s!=null){b=s.a +c=s.b}a.X(b,c)}, +iT(a,b){var s,r,q,p=$.j +if(p===B.d)return null +s=p.h4(a,b) +if(s==null)return null +r=s.a +q=s.b +if(t.C.b(r))A.kz(r,q) +return s}, +o6(a,b){var s +if($.j!==B.d){s=A.iT(a,b) +if(s!=null)return s}if(b==null)if(t.C.b(a)){b=a.gbl() +if(b==null){A.kz(a,B.x) +b=B.x}}else b=B.x +else if(t.C.b(a))A.kz(a,b) +return new A.be(a,b)}, +vn(a,b,c){var s=new A.k(b,c.h("k<0>")) +s.a=8 +s.c=a +return s}, +f4(a,b){var s=new A.k($.j,b.h("k<0>")) +s.a=8 +s.c=a +return s}, +pa(a,b){var s,r +for(;s=a.a,(s&4)!==0;)a=a.c +if(a===b){b.aO(new A.aX(!0,a,null,"Cannot complete a future with itself"),A.oW()) +return}s|=b.a&1 +a.a=s +if((s&24)!==0){r=b.cE() +b.cu(a) +A.dA(b,r)}else{r=b.c +b.fH(a) +a.dZ(r)}}, +vo(a,b){var s,r,q={},p=q.a=a +for(;s=p.a,(s&4)!==0;){p=p.c +q.a=p}if(p===b){b.aO(new A.aX(!0,p,null,"Cannot complete a future with itself"),A.oW()) +return}if((s&24)===0){r=b.c +b.fH(p) +q.a.dZ(r) +return}if((s&16)===0&&b.c==null){b.cu(p) +return}b.a^=2 +b.b.aZ(new A.my(q,b))}, +dA(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g={},f=g.a=a +for(;!0;){s={} +r=f.a +q=(r&16)===0 +p=!q +if(b==null){if(p&&(r&1)===0){r=f.c +f.b.c4(r.a,r.b)}return}s.a=b +o=b.a +for(f=b;o!=null;f=o,o=n){f.a=null +A.dA(g.a,f) +s.a=o +n=o.a}r=g.a +m=r.c +s.b=p +s.c=m +if(q){l=f.c +l=(l&1)!==0||(l&15)===8}else l=!0 +if(l){k=f.b.b +if(p){f=r.b +f=!(f===k||f.gb9()===k.gb9())}else f=!1 +if(f){f=g.a +r=f.c +f.b.c4(r.a,r.b) +return}j=$.j +if(j!==k)$.j=k +else j=null +f=s.a.c +if((f&15)===8)new A.mF(s,g,p).$0() +else if(q){if((f&1)!==0)new A.mE(s,m).$0()}else if((f&2)!==0)new A.mD(g,s).$0() +if(j!=null)$.j=j +f=s.c +if(f instanceof A.k){r=s.a.$ti +r=r.h("D<2>").b(f)||!r.y[1].b(f)}else r=!1 +if(r){i=s.a.b +if((f.a&24)!==0){h=i.c +i.c=null +b=i.cF(h) +i.a=f.a&30|i.a&1 +i.c=f.c +g.a=f +continue}else A.pa(f,i) +return}}i=s.a.b +h=i.c +i.c=null +b=i.cF(h) +f=s.b +r=s.c +if(!f){i.a=8 +i.c=r}else{i.a=i.a&1|16 +i.c=r}g.a=i +f=i}}, +wG(a,b){if(t.w.b(a))return b.d7(a,t.z,t.K,t.l) +if(t.bI.b(a))return b.bc(a,t.z,t.K) +throw A.a(A.af(a,"onError",u.c))}, +wy(){var s,r +for(s=$.dU;s!=null;s=$.dU){$.fy=null +r=s.b +$.dU=r +if(r==null)$.fx=null +s.a.$0()}}, +wP(){$.po=!0 +try{A.wy()}finally{$.fy=null +$.po=!1 +if($.dU!=null)$.pJ().$1(A.rS())}}, +rM(a){var s=new A.i6(a),r=$.fx +if(r==null){$.dU=$.fx=s +if(!$.po)$.pJ().$1(A.rS())}else $.fx=r.b=s}, +wO(a){var s,r,q,p=$.dU +if(p==null){A.rM(a) +$.fy=$.fx +return}s=new A.i6(a) +r=$.fy +if(r==null){s.b=p +$.dU=$.fy=s}else{q=r.b +s.b=q +$.fy=r.b=s +if(q==null)$.fx=s}}, +oy(a){var s,r=null,q=$.j +if(B.d===q){A.ob(r,r,B.d,a) +return}if(B.d===q.ge3().a)s=B.d.gb9()===q.gb9() +else s=!1 +if(s){A.ob(r,r,q,q.av(a,t.H)) +return}s=$.j +s.aZ(s.cS(a))}, +yf(a){return new A.dM(A.cS(a,"stream",t.K))}, +eK(a,b,c,d){var s=null +return c?new A.dQ(b,s,s,a,d.h("dQ<0>")):new A.du(b,s,s,a,d.h("du<0>"))}, +iV(a){var s,r,q +if(a==null)return +try{a.$0()}catch(q){s=A.F(q) +r=A.S(q) +$.j.c4(s,r)}}, +vm(a,b,c,d,e,f){var s=$.j,r=e?1:0,q=c!=null?32:0,p=A.ib(s,b,f),o=A.ic(s,c),n=d==null?A.rR():d +return new A.cg(a,p,o,s.av(n,t.H),s,r|q,f.h("cg<0>"))}, +ib(a,b,c){var s=b==null?A.wZ():b +return a.bc(s,t.H,c)}, +ic(a,b){if(b==null)b=A.x_() +if(t.da.b(b))return a.d7(b,t.z,t.K,t.l) +if(t.d5.b(b))return a.bc(b,t.z,t.K) +throw A.a(A.K("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.",null))}, +wz(a){}, +wB(a,b){$.j.c4(a,b)}, +wA(){}, +wM(a,b,c){var s,r,q,p +try{b.$1(a.$0())}catch(p){s=A.F(p) +r=A.S(p) +q=A.iT(s,r) +if(q!=null)c.$2(q.a,q.b) +else c.$2(s,r)}}, +w6(a,b,c,d){var s=a.J(),r=$.cn() +if(s!==r)s.ak(new A.o_(b,c,d)) +else b.X(c,d)}, +w7(a,b){return new A.nZ(a,b)}, +ru(a,b,c){var s=a.J(),r=$.cn() +if(s!==r)s.ak(new A.o0(b,c)) +else b.b2(c)}, +vw(a,b,c){return new A.dK(new A.nG(null,null,a,c,b),b.h("@<0>").H(c).h("dK<1,2>"))}, +qE(a,b){var s=$.j +if(s===B.d)return s.ei(a,b) +return s.ei(a,s.cS(b))}, +wK(a,b,c,d,e){A.fz(d,e)}, +fz(a,b){A.wO(new A.o7(a,b))}, +o8(a,b,c,d){var s,r=$.j +if(r===c)return d.$0() +$.j=c +s=r +try{r=d.$0() +return r}finally{$.j=s}}, +oa(a,b,c,d,e){var s,r=$.j +if(r===c)return d.$1(e) +$.j=c +s=r +try{r=d.$1(e) +return r}finally{$.j=s}}, +o9(a,b,c,d,e,f){var s,r=$.j +if(r===c)return d.$2(e,f) +$.j=c +s=r +try{r=d.$2(e,f) +return r}finally{$.j=s}}, +rI(a,b,c,d){return d}, +rJ(a,b,c,d){return d}, +rH(a,b,c,d){return d}, +wJ(a,b,c,d,e){return null}, +ob(a,b,c,d){var s,r +if(B.d!==c){s=B.d.gb9() +r=c.gb9() +d=s!==r?c.cS(d):c.ef(d,t.H)}A.rM(d)}, +wI(a,b,c,d,e){return A.p_(d,B.d!==c?c.ef(e,t.H):e)}, +wH(a,b,c,d,e){var s +if(B.d!==c)e=c.fX(e,t.H,t.aF) +s=B.b.I(d.a,1000) +return A.vy(s<0?0:s,e)}, +wL(a,b,c,d){A.pC(d)}, +wD(a){$.j.hj(a)}, +rG(a,b,c,d,e){var s,r,q +$.t5=A.x0() +if(d==null)d=B.bJ +if(e==null)s=c.gfm() +else{r=t.X +s=A.ux(e,r,r)}r=new A.id(c.gfE(),c.gfG(),c.gfF(),c.gfA(),c.gfB(),c.gfz(),c.gfd(),c.ge3(),c.gf9(),c.gf8(),c.gft(),c.gfg(),c.gdT(),c,s) +q=d.a +if(q!=null)r.as=new A.au(r,q) +return r}, +xQ(a,b,c){return A.wN(a,b,null,c)}, +wN(a,b,c,d){return $.j.h8(c,b).be(a,d)}, +m1:function m1(a){this.a=a}, +m0:function m0(a,b,c){this.a=a +this.b=b +this.c=c}, +m2:function m2(a){this.a=a}, +m3:function m3(a){this.a=a}, +iK:function iK(){this.c=0}, +nM:function nM(a,b){this.a=a +this.b=b}, +nL:function nL(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +i5:function i5(a,b){this.a=a +this.b=!1 +this.$ti=b}, +nX:function nX(a){this.a=a}, +nY:function nY(a){this.a=a}, +oe:function oe(a){this.a=a}, +iI:function iI(a){var _=this +_.a=a +_.e=_.d=_.c=_.b=null}, +dP:function dP(a,b){this.a=a +this.$ti=b}, +be:function be(a,b){this.a=a +this.b=b}, +eU:function eU(a,b){this.a=a +this.$ti=b}, +cH:function cH(a,b,c,d,e,f,g){var _=this +_.ay=0 +_.CW=_.ch=null +_.w=a +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.r=_.f=null +_.$ti=g}, +cG:function cG(){}, +fl:function fl(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.r=_.f=_.e=_.d=null +_.$ti=c}, +nI:function nI(a,b){this.a=a +this.b=b}, +nK:function nK(a,b,c){this.a=a +this.b=b +this.c=c}, +nJ:function nJ(a){this.a=a}, +k4:function k4(a,b){this.a=a +this.b=b}, +k2:function k2(a,b,c){this.a=a +this.b=b +this.c=c}, +k6:function k6(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +k5:function k5(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +dv:function dv(){}, +a5:function a5(a,b){this.a=a +this.$ti=b}, +aa:function aa(a,b){this.a=a +this.$ti=b}, +ch:function ch(a,b,c,d,e){var _=this +_.a=null +_.b=a +_.c=b +_.d=c +_.e=d +_.$ti=e}, +k:function k(a,b){var _=this +_.a=0 +_.b=a +_.c=null +_.$ti=b}, +mv:function mv(a,b){this.a=a +this.b=b}, +mC:function mC(a,b){this.a=a +this.b=b}, +mz:function mz(a){this.a=a}, +mA:function mA(a){this.a=a}, +mB:function mB(a,b,c){this.a=a +this.b=b +this.c=c}, +my:function my(a,b){this.a=a +this.b=b}, +mx:function mx(a,b){this.a=a +this.b=b}, +mw:function mw(a,b,c){this.a=a +this.b=b +this.c=c}, +mF:function mF(a,b,c){this.a=a +this.b=b +this.c=c}, +mG:function mG(a){this.a=a}, +mE:function mE(a,b){this.a=a +this.b=b}, +mD:function mD(a,b){this.a=a +this.b=b}, +i6:function i6(a){this.a=a +this.b=null}, +X:function X(){}, +lb:function lb(a,b){this.a=a +this.b=b}, +lc:function lc(a,b){this.a=a +this.b=b}, +l9:function l9(a){this.a=a}, +la:function la(a,b,c){this.a=a +this.b=b +this.c=c}, +l7:function l7(a,b){this.a=a +this.b=b}, +l8:function l8(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +l5:function l5(a,b){this.a=a +this.b=b}, +l6:function l6(a,b,c){this.a=a +this.b=b +this.c=c}, +hK:function hK(){}, +cO:function cO(){}, +nF:function nF(a){this.a=a}, +nE:function nE(a){this.a=a}, +iJ:function iJ(){}, +i7:function i7(){}, +du:function du(a,b,c,d,e){var _=this +_.a=null +_.b=0 +_.c=null +_.d=a +_.e=b +_.f=c +_.r=d +_.$ti=e}, +dQ:function dQ(a,b,c,d,e){var _=this +_.a=null +_.b=0 +_.c=null +_.d=a +_.e=b +_.f=c +_.r=d +_.$ti=e}, +ap:function ap(a,b){this.a=a +this.$ti=b}, +cg:function cg(a,b,c,d,e,f,g){var _=this +_.w=a +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.r=_.f=null +_.$ti=g}, +dN:function dN(a){this.a=a}, +ah:function ah(){}, +me:function me(a,b,c){this.a=a +this.b=b +this.c=c}, +md:function md(a){this.a=a}, +dL:function dL(){}, +ih:function ih(){}, +dw:function dw(a){this.b=a +this.a=null}, +eY:function eY(a,b){this.b=a +this.c=b +this.a=null}, +mo:function mo(){}, +fd:function fd(){this.a=0 +this.c=this.b=null}, +nu:function nu(a,b){this.a=a +this.b=b}, +eZ:function eZ(a){this.a=1 +this.b=a +this.c=null}, +dM:function dM(a){this.a=null +this.b=a +this.c=!1}, +o_:function o_(a,b,c){this.a=a +this.b=b +this.c=c}, +nZ:function nZ(a,b){this.a=a +this.b=b}, +o0:function o0(a,b){this.a=a +this.b=b}, +f3:function f3(){}, +dy:function dy(a,b,c,d,e,f,g){var _=this +_.w=a +_.x=null +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.r=_.f=null +_.$ti=g}, +f8:function f8(a,b,c){this.b=a +this.a=b +this.$ti=c}, +f0:function f0(a){this.a=a}, +dJ:function dJ(a,b,c,d,e,f){var _=this +_.w=$ +_.x=null +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.r=_.f=null +_.$ti=f}, +fk:function fk(){}, +eT:function eT(a,b,c){this.a=a +this.b=b +this.$ti=c}, +dB:function dB(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.$ti=e}, +dK:function dK(a,b){this.a=a +this.$ti=b}, +nG:function nG(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +au:function au(a,b){this.a=a +this.b=b}, +iQ:function iQ(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m}, +dS:function dS(a){this.a=a}, +iP:function iP(){}, +id:function id(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=null +_.ax=n +_.ay=o}, +ml:function ml(a,b,c){this.a=a +this.b=b +this.c=c}, +mn:function mn(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +mk:function mk(a,b){this.a=a +this.b=b}, +mm:function mm(a,b,c){this.a=a +this.b=b +this.c=c}, +o7:function o7(a,b){this.a=a +this.b=b}, +iD:function iD(){}, +nz:function nz(a,b,c){this.a=a +this.b=b +this.c=c}, +nB:function nB(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +ny:function ny(a,b){this.a=a +this.b=b}, +nA:function nA(a,b,c){this.a=a +this.b=b +this.c=c}, +q8(a,b){return new A.cK(a.h("@<0>").H(b).h("cK<1,2>"))}, +r2(a,b){var s=a[b] +return s===a?null:s}, +pc(a,b,c){if(c==null)a[b]=a +else a[b]=c}, +pb(){var s=Object.create(null) +A.pc(s,"",s) +delete s[""] +return s}, +uF(a,b){return new A.bw(a.h("@<0>").H(b).h("bw<1,2>"))}, +kn(a,b,c){return A.xn(a,new A.bw(b.h("@<0>").H(c).h("bw<1,2>")))}, +a3(a,b){return new A.bw(a.h("@<0>").H(b).h("bw<1,2>"))}, +oR(a){return new A.f6(a.h("f6<0>"))}, +pd(){var s=Object.create(null) +s[""]=s +delete s[""] +return s}, +iu(a,b,c){var s=new A.dE(a,b,c.h("dE<0>")) +s.c=a.e +return s}, +ux(a,b,c){var s=A.q8(b,c) +a.aa(0,new A.k9(s,b,c)) +return s}, +oS(a){var s,r={} +if(A.pz(a))return"{...}" +s=new A.ax("") +try{$.cV.push(a) +s.a+="{" +r.a=!0 +a.aa(0,new A.ks(r,s)) +s.a+="}"}finally{$.cV.pop()}r=s.a +return r.charCodeAt(0)==0?r:r}, +cK:function cK(a){var _=this +_.a=0 +_.e=_.d=_.c=_.b=null +_.$ti=a}, +mH:function mH(a){this.a=a}, +dC:function dC(a){var _=this +_.a=0 +_.e=_.d=_.c=_.b=null +_.$ti=a}, +cL:function cL(a,b){this.a=a +this.$ti=b}, +io:function io(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +f6:function f6(a){var _=this +_.a=0 +_.f=_.e=_.d=_.c=_.b=null +_.r=0 +_.$ti=a}, +nt:function nt(a){this.a=a +this.c=this.b=null}, +dE:function dE(a,b,c){var _=this +_.a=a +_.b=b +_.d=_.c=null +_.$ti=c}, +k9:function k9(a,b,c){this.a=a +this.b=b +this.c=c}, +et:function et(a){var _=this +_.b=_.a=0 +_.c=null +_.$ti=a}, +iv:function iv(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=null +_.d=c +_.e=!1 +_.$ti=d}, +aI:function aI(){}, +x:function x(){}, +U:function U(){}, +kr:function kr(a){this.a=a}, +ks:function ks(a,b){this.a=a +this.b=b}, +f7:function f7(a,b){this.a=a +this.$ti=b}, +iw:function iw(a,b,c){var _=this +_.a=a +_.b=b +_.c=null +_.$ti=c}, +dj:function dj(){}, +fg:function fg(){}, +vW(a,b,c){var s,r,q,p,o=c-b +if(o<=4096)s=$.ty() +else s=new Uint8Array(o) +for(r=J.Z(a),q=0;q=16)return null +r=r*16+o}n=h-1 +i[h]=r +for(;s=16)return null +r=r*16+o}m=n-1 +i[n]=r}if(j===1&&i[0]===0)return $.b7() +l=A.aM(j,i) +return new A.a8(l===0?!1:c,i,l)}, +r0(a,b){var s,r,q,p,o +if(a==="")return null +s=$.tr().a9(a) +if(s==null)return null +r=s.b +q=r[1]==="-" +p=r[4] +o=r[3] +if(p!=null)return A.vj(p,q) +if(o!=null)return A.vk(o,2,q) +return null}, +aM(a,b){while(!0){if(!(a>0&&b[a-1]===0))break;--a}return a}, +p7(a,b,c,d){var s,r=new Uint16Array(d),q=c-b +for(s=0;s>>0)+(o>>>4)-1075 +m=new Uint16Array(4) +m[0]=(r[1]<<8>>>0)+r[0] +m[1]=(r[3]<<8>>>0)+r[2] +m[2]=(r[5]<<8>>>0)+r[4] +m[3]=o&15|16 +l=new A.a8(!1,m,4) +if(n<0)k=l.bk(0,-n) +else k=n>0?l.b0(0,n):l +if(s)return k.aB(0) +return k}, +p8(a,b,c,d){var s,r,q +if(b===0)return 0 +if(c===0&&d===a)return b +for(s=b-1,r=d.$flags|0;s>=0;--s){q=a[s] +r&2&&A.z(d) +d[s+c]=q}for(s=c-1;s>=0;--s){r&2&&A.z(d) +d[s]=0}return b+c}, +qZ(a,b,c,d){var s,r,q,p,o,n=B.b.I(c,16),m=B.b.ae(c,16),l=16-m,k=B.b.b0(1,l)-1 +for(s=b-1,r=d.$flags|0,q=0;s>=0;--s){p=a[s] +o=B.b.bk(p,l) +r&2&&A.z(d) +d[s+n+1]=(o|q)>>>0 +q=B.b.b0((p&k)>>>0,m)}r&2&&A.z(d) +d[n]=q}, +qU(a,b,c,d){var s,r,q,p,o=B.b.I(c,16) +if(B.b.ae(c,16)===0)return A.p8(a,b,o,d) +s=b+o+1 +A.qZ(a,b,c,d) +for(r=d.$flags|0,q=o;--q,q>=0;){r&2&&A.z(d) +d[q]=0}p=s-1 +return d[p]===0?p:s}, +vl(a,b,c,d){var s,r,q,p,o=B.b.I(c,16),n=B.b.ae(c,16),m=16-n,l=B.b.b0(1,n)-1,k=B.b.bk(a[o],n),j=b-o-1 +for(s=d.$flags|0,r=0;r>>0,m) +s&2&&A.z(d) +d[r]=(p|k)>>>0 +k=B.b.bk(q,n)}s&2&&A.z(d) +d[j]=k}, +ma(a,b,c,d){var s,r=b-d +if(r===0)for(s=b-1;s>=0;--s){r=a[s]-c[s] +if(r!==0)return r}return r}, +vh(a,b,c,d,e){var s,r,q +for(s=e.$flags|0,r=0,q=0;q=0;e=o,c=q){q=c+1 +p=a*b[c]+d[e]+r +o=e+1 +s&2&&A.z(d) +d[e]=p&65535 +r=B.b.I(p,65536)}for(;r!==0;e=o){n=d[e]+r +o=e+1 +s&2&&A.z(d) +d[e]=n&65535 +r=B.b.I(n,65536)}}, +vi(a,b,c){var s,r=b[c] +if(r===a)return 65535 +s=B.b.eX((r<<16|b[c-1])>>>0,a) +if(s>65535)return 65535 +return s}, +un(a){throw A.a(A.af(a,"object","Expandos are not allowed on strings, numbers, bools, records or null"))}, +aQ(a,b){var s=A.qr(a,b) +if(s!=null)return s +throw A.a(A.ak(a,null,null))}, +um(a,b){a=A.a(a) +a.stack=b.j(0) +throw a +throw A.a("unreachable")}, +b_(a,b,c,d){var s,r=c?J.qd(a,d):J.qc(a,d) +if(a!==0&&b!=null)for(s=0;s")) +for(s=J.M(a);s.k();)r.push(s.gm()) +r.$flags=1 +return r}, +aw(a,b,c){var s +if(b)return A.qf(a,c) +s=A.qf(a,c) +s.$flags=1 +return s}, +qf(a,b){var s,r +if(Array.isArray(a))return A.d(a.slice(0),b.h("w<0>")) +s=A.d([],b.h("w<0>")) +for(r=J.M(a);r.k();)s.push(r.gm()) +return s}, +aJ(a,b){var s=A.uH(a,!1,b) +s.$flags=3 +return s}, +qD(a,b,c){var s,r,q,p,o +A.ac(b,"start") +s=c==null +r=!s +if(r){q=c-b +if(q<0)throw A.a(A.W(c,b,null,"end",null)) +if(q===0)return""}if(Array.isArray(a)){p=a +o=p.length +if(s)c=o +return A.qt(b>0||c0)a=J.e4(a,b) +return A.qt(A.aw(a,!0,t.S))}, +qC(a){return A.aD(a)}, +v_(a,b,c){var s=a.length +if(b>=s)return"" +return A.uT(a,b,c==null||c>s?s:c)}, +J(a,b,c,d,e){return new A.cx(a,A.oO(a,d,b,e,c,!1))}, +oX(a,b,c){var s=J.M(b) +if(!s.k())return a +if(c.length===0){do a+=A.v(s.gm()) +while(s.k())}else{a+=A.v(s.gm()) +for(;s.k();)a=a+c+A.v(s.gm())}return a}, +eN(){var s,r,q=A.uO() +if(q==null)throw A.a(A.a4("'Uri.base' is not supported")) +s=$.qP +if(s!=null&&q===$.qO)return s +r=A.bn(q) +$.qP=r +$.qO=q +return r}, +vU(a,b,c,d){var s,r,q,p,o,n="0123456789ABCDEF" +if(c===B.j){s=$.tv() +s=s.b.test(b)}else s=!1 +if(s)return b +r=B.i.a5(b) +for(s=r.length,q=0,p="";q>>4]&1<<(o&15))!==0)p+=A.aD(o) +else p=d&&o===32?p+"+":p+"%"+n[o>>>4&15]+n[o&15]}return p.charCodeAt(0)==0?p:p}, +oW(){return A.S(new Error())}, +pZ(a,b,c){var s="microsecond" +if(b>999)throw A.a(A.W(b,0,999,s,null)) +if(a<-864e13||a>864e13)throw A.a(A.W(a,-864e13,864e13,"millisecondsSinceEpoch",null)) +if(a===864e13&&b!==0)throw A.a(A.af(b,s,"Time including microseconds is outside valid range")) +A.cS(c,"isUtc",t.y) +return a}, +ui(a){var s=Math.abs(a),r=a<0?"-":"" +if(s>=1000)return""+a +if(s>=100)return r+"0"+s +if(s>=10)return r+"00"+s +return r+"000"+s}, +pY(a){if(a>=100)return""+a +if(a>=10)return"0"+a +return"00"+a}, +fX(a){if(a>=10)return""+a +return"0"+a}, +q_(a,b){return new A.br(a+1000*b)}, +oH(a,b){var s,r,q +for(s=a.length,r=0;rc)throw A.a(A.W(a,b,c,d,null)) +return a}, +uV(a,b,c,d){if(0>a||a>=d)A.B(A.hc(a,d,b,null,c)) +return a}, +ba(a,b,c){if(0>a||a>c)throw A.a(A.W(a,0,c,"start",null)) +if(b!=null){if(a>b||b>c)throw A.a(A.W(b,a,c,"end",null)) +return b}return c}, +ac(a,b){if(a<0)throw A.a(A.W(a,0,null,b,null)) +return a}, +q9(a,b){var s=b.b +return new A.en(s,!0,a,null,"Index out of range")}, +hc(a,b,c,d,e){return new A.en(b,!0,a,e,"Index out of range")}, +a4(a){return new A.eM(a)}, +qL(a){return new A.hO(a)}, +C(a){return new A.b2(a)}, +az(a){return new A.fU(a)}, +jT(a){return new A.ik(a)}, +ak(a,b,c){return new A.bt(a,b,c)}, +uz(a,b,c){var s,r +if(A.pz(a)){if(b==="("&&c===")")return"(...)" +return b+"..."+c}s=A.d([],t.s) +$.cV.push(a) +try{A.wx(a,s)}finally{$.cV.pop()}r=A.oX(b,s,", ")+c +return r.charCodeAt(0)==0?r:r}, +oN(a,b,c){var s,r +if(A.pz(a))return b+"..."+c +s=new A.ax(b) +$.cV.push(a) +try{r=s +r.a=A.oX(r.a,a,", ")}finally{$.cV.pop()}s.a+=c +r=s.a +return r.charCodeAt(0)==0?r:r}, +wx(a,b){var s,r,q,p,o,n,m,l=a.gt(a),k=0,j=0 +while(!0){if(!(k<80||j<3))break +if(!l.k())return +s=A.v(l.gm()) +b.push(s) +k+=s.length+2;++j}if(!l.k()){if(j<=5)return +r=b.pop() +q=b.pop()}else{p=l.gm();++j +if(!l.k()){if(j<=4){b.push(A.v(p)) +return}r=A.v(p) +q=b.pop() +k+=r.length+2}else{o=l.gm();++j +for(;l.k();p=o,o=n){n=l.gm();++j +if(j>100){while(!0){if(!(k>75&&j>3))break +k-=b.pop().length+2;--j}b.push("...") +return}}q=A.v(p) +r=A.v(o) +k+=r.length+q.length+4}}if(j>b.length+2){k+=5 +m="..."}else m=null +while(!0){if(!(k>80&&b.length>3))break +k-=b.pop().length+2 +if(m==null){k+=5 +m="..."}}if(m!=null)b.push(m) +b.push(q) +b.push(r)}, +ez(a,b,c,d){var s +if(B.f===c){s=J.ay(a) +b=J.ay(b) +return A.oY(A.ca(A.ca($.oC(),s),b))}if(B.f===d){s=J.ay(a) +b=J.ay(b) +c=J.ay(c) +return A.oY(A.ca(A.ca(A.ca($.oC(),s),b),c))}s=J.ay(a) +b=J.ay(b) +c=J.ay(c) +d=J.ay(d) +d=A.oY(A.ca(A.ca(A.ca(A.ca($.oC(),s),b),c),d)) +return d}, +xO(a){var s=A.v(a),r=$.t5 +if(r==null)A.pC(s) +else r.$1(s)}, +qN(a){var s,r=null,q=new A.ax(""),p=A.d([-1],t.t) +A.v8(r,r,r,q,p) +p.push(q.a.length) +q.a+="," +A.v7(B.p,B.ap.jX(a),q) +s=q.a +return new A.hT(s.charCodeAt(0)==0?s:s,p,r).geN()}, +bn(a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=null,a4=a5.length +if(a4>=5){s=((a5.charCodeAt(4)^58)*3|a5.charCodeAt(0)^100|a5.charCodeAt(1)^97|a5.charCodeAt(2)^116|a5.charCodeAt(3)^97)>>>0 +if(s===0)return A.qM(a4=14)r[7]=a4 +q=r[1] +if(q>=0)if(A.rL(a5,0,q,20,r)===20)r[7]=q +p=r[2]+1 +o=r[3] +n=r[4] +m=r[5] +l=r[6] +if(lq+3)){i=o>0 +if(!(i&&o+1===n)){if(!B.a.E(a5,"\\",n))if(p>0)h=B.a.E(a5,"\\",p-1)||B.a.E(a5,"\\",p-2) +else h=!1 +else h=!0 +if(!h){if(!(mn+2&&B.a.E(a5,"/..",m-3) +else h=!0 +if(!h)if(q===4){if(B.a.E(a5,"file",0)){if(p<=0){if(!B.a.E(a5,"/",n)){g="file:///" +s=3}else{g="file://" +s=2}a5=g+B.a.n(a5,n,a4) +m+=s +l+=s +a4=a5.length +p=7 +o=7 +n=7}else if(n===m){++l +f=m+1 +a5=B.a.aL(a5,n,m,"/");++a4 +m=f}j="file"}else if(B.a.E(a5,"http",0)){if(i&&o+3===n&&B.a.E(a5,"80",o+1)){l-=3 +e=n-3 +m-=3 +a5=B.a.aL(a5,o,n,"") +a4-=3 +n=e}j="http"}}else if(q===5&&B.a.E(a5,"https",0)){if(i&&o+4===n&&B.a.E(a5,"443",o+1)){l-=4 +e=n-4 +m-=4 +a5=B.a.aL(a5,o,n,"") +a4-=3 +n=e}j="https"}k=!h}}}}if(k)return new A.b4(a40)j=A.nR(a5,0,q) +else{if(q===0)A.dR(a5,0,"Invalid empty scheme") +j=""}d=a3 +if(p>0){c=q+3 +b=c9)k.$2("invalid character",s)}else{if(q===3)k.$2(m,s) +o=A.aQ(B.a.n(a,r,s),null) +if(o>255)k.$2(l,r) +n=q+1 +j[q]=o +r=s+1 +q=n}}if(q!==3)k.$2(m,c) +o=A.aQ(B.a.n(a,r,c),null) +if(o>255)k.$2(l,r) +j[q]=o +return j}, +qQ(a,b,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=null,d=new A.lu(a),c=new A.lv(d,a) +if(a.length<2)d.$2("address is too short",e) +s=A.d([],t.t) +for(r=b,q=r,p=!1,o=!1;r>>0) +s.push((k[2]<<8|k[3])>>>0)}if(p){if(s.length>7)d.$2("an address with a wildcard must have less than 7 parts",e)}else if(s.length!==8)d.$2("an address without a wildcard must contain exactly 8 parts",e) +j=new Uint8Array(16) +for(l=s.length,i=9-l,r=0,h=0;r")),r=r.h("Q.E");s.k();){q=s.d +if(q==null)q=r.a(q) +if(B.a.K(q,A.J('["*/:<>?\\\\|]',!0,!1,!1,!1)))if(b)throw A.a(A.K("Illegal character in path",null)) +else throw A.a(A.a4("Illegal character in path: "+q))}}, +vM(a,b){var s,r="Illegal drive letter " +if(!(65<=a&&a<=90))s=97<=a&&a<=122 +else s=!0 +if(s)return +if(b)throw A.a(A.K(r+A.qC(a),null)) +else throw A.a(A.a4(r+A.qC(a)))}, +vP(a,b){var s=null,r=A.d(a.split("/"),t.s) +if(B.a.u(a,"/"))return A.al(s,s,r,"file") +else return A.al(s,s,r,s)}, +vQ(a,b){var s,r,q,p,o="\\",n=null,m="file" +if(B.a.u(a,"\\\\?\\"))if(B.a.E(a,"UNC\\",4))a=B.a.aL(a,0,7,o) +else{a=B.a.L(a,4) +if(a.length<3||a.charCodeAt(1)!==58||a.charCodeAt(2)!==92)throw A.a(A.af(a,"path","Windows paths with \\\\?\\ prefix must be absolute"))}else a=A.bc(a,"/",o) +s=a.length +if(s>1&&a.charCodeAt(1)===58){A.vM(a.charCodeAt(0),!0) +if(s===2||a.charCodeAt(2)!==92)throw A.a(A.af(a,"path","Windows paths with drive letter must be absolute")) +r=A.d(a.split(o),t.s) +A.nO(r,!0,1) +return A.al(n,n,r,m)}if(B.a.u(a,o))if(B.a.E(a,o,1)){q=B.a.aV(a,o,2) +s=q<0 +p=s?B.a.L(a,2):B.a.n(a,2,q) +r=A.d((s?"":B.a.L(a,q+1)).split(o),t.s) +A.nO(r,!0,0) +return A.al(p,n,r,m)}else{r=A.d(a.split(o),t.s) +A.nO(r,!0,0) +return A.al(n,n,r,m)}else{r=A.d(a.split(o),t.s) +A.nO(r,!0,0) +return A.al(n,n,r,n)}}, +nQ(a,b){if(a!=null&&a===A.rg(b))return null +return a}, +rk(a,b,c,d){var s,r,q,p,o,n +if(a==null)return null +if(b===c)return"" +if(a.charCodeAt(b)===91){s=c-1 +if(a.charCodeAt(s)!==93)A.dR(a,b,"Missing end `]` to match `[` in host") +r=b+1 +q=A.vN(a,r,s) +if(q=b&&q=b&&s>>4]&1<<(p&15))!==0){if(q&&65<=p&&90>=p){if(i==null)i=new A.ax("") +if(r>>4]&1<<(o&15))!==0){if(p&&65<=o&&90>=o){if(q==null)q=new A.ax("") +if(r>>4]&1<<(o&15))!==0)A.dR(a,s,"Invalid character") +else{j=1 +if((o&64512)===55296&&s+1>>4]&1<<(q&15))!==0))A.dR(a,s,"Illegal scheme character") +if(65<=q&&q<=90)r=!0}a=B.a.n(a,b,c) +return A.vK(r?a.toLowerCase():a)}, +vK(a){if(a==="http")return"http" +if(a==="file")return"file" +if(a==="https")return"https" +if(a==="package")return"package" +return a}, +rn(a,b,c){if(a==null)return"" +return A.ft(a,b,c,B.aL,!1,!1)}, +rl(a,b,c,d,e,f){var s,r=e==="file",q=r||f +if(a==null){if(d==null)return r?"/":"" +s=new A.E(d,new A.nP(),A.R(d).h("E<1,i>")).ar(0,"/")}else if(d!=null)throw A.a(A.K("Both path and pathSegments specified",null)) +else s=A.ft(a,b,c,B.a5,!0,!0) +if(s.length===0){if(r)return"/"}else if(q&&!B.a.u(s,"/"))s="/"+s +return A.vR(s,e,f)}, +vR(a,b,c){var s=b.length===0 +if(s&&!c&&!B.a.u(a,"/")&&!B.a.u(a,"\\"))return A.pj(a,!s||c) +return A.cP(a)}, +rm(a,b,c,d){if(a!=null)return A.ft(a,b,c,B.p,!0,!1) +return null}, +rj(a,b,c){if(a==null)return null +return A.ft(a,b,c,B.p,!0,!1)}, +pi(a,b,c){var s,r,q,p,o,n=b+2 +if(n>=a.length)return"%" +s=a.charCodeAt(b+1) +r=a.charCodeAt(n) +q=A.om(s) +p=A.om(r) +if(q<0||p<0)return"%" +o=q*16+p +if(o<127&&(B.ab[B.b.O(o,4)]&1<<(o&15))!==0)return A.aD(c&&65<=o&&90>=o?(o|32)>>>0:o) +if(s>=97||r>=97)return B.a.n(a,b,b+3).toUpperCase() +return null}, +ph(a){var s,r,q,p,o,n="0123456789ABCDEF" +if(a<128){s=new Uint8Array(3) +s[0]=37 +s[1]=n.charCodeAt(a>>>4) +s[2]=n.charCodeAt(a&15)}else{if(a>2047)if(a>65535){r=240 +q=4}else{r=224 +q=3}else{r=192 +q=2}s=new Uint8Array(3*q) +for(p=0;--q,q>=0;r=128){o=B.b.jj(a,6*q)&63|r +s[p]=37 +s[p+1]=n.charCodeAt(o>>>4) +s[p+2]=n.charCodeAt(o&15) +p+=3}}return A.qD(s,0,null)}, +ft(a,b,c,d,e,f){var s=A.rp(a,b,c,d,e,f) +return s==null?B.a.n(a,b,c):s}, +rp(a,b,c,d,e,f){var s,r,q,p,o,n,m,l,k,j,i=null +for(s=!e,r=b,q=r,p=i;r>>4]&1<<(o&15))!==0)++r +else{n=1 +if(o===37){m=A.pi(a,r,!1) +if(m==null){r+=3 +continue}if("%"===m)m="%25" +else n=3}else if(o===92&&f)m="/" +else if(s&&o<=93&&(B.a6[o>>>4]&1<<(o&15))!==0){A.dR(a,r,"Invalid character") +n=i +m=n}else{if((o&64512)===55296){l=r+1 +if(l=2&&A.ri(a.charCodeAt(0)))for(s=1;s127||(B.a4[r>>>4]&1<<(r&15))===0)break}return a}, +vT(a,b){if(a.kp("package")&&a.c==null)return A.rN(b,0,b.length) +return-1}, +vO(a,b){var s,r,q +for(s=0,r=0;r<2;++r){q=a.charCodeAt(b+r) +if(48<=q&&q<=57)s=s*16+q-48 +else{q|=32 +if(97<=q&&q<=102)s=s*16+q-87 +else throw A.a(A.K("Invalid URL encoding",null))}}return s}, +pk(a,b,c,d,e){var s,r,q,p,o=b +while(!0){if(!(o127)throw A.a(A.K("Illegal percent encoding in URI",null)) +if(r===37){if(o+3>q)throw A.a(A.K("Truncated URI",null)) +p.push(A.vO(a,o+1)) +o+=2}else p.push(r)}}return d.cV(p)}, +ri(a){var s=a|32 +return 97<=s&&s<=122}, +v8(a,b,c,d,e){d.a=d.a}, +qM(a,b,c){var s,r,q,p,o,n,m,l,k="Invalid MIME type",j=A.d([b-1],t.t) +for(s=a.length,r=b,q=-1,p=null;rb)throw A.a(A.ak(k,a,r)) +for(;p!==44;){j.push(r);++r +for(o=-1;r=0)j.push(o) +else{n=B.c.gC(j) +if(p!==44||r!==n+7||!B.a.E(a,"base64",n+1))throw A.a(A.ak("Expecting '='",a,r)) +break}}j.push(r) +m=r+1 +if((j.length&1)===1)a=B.aq.ku(a,m,s) +else{l=A.rp(a,m,s,B.p,!0,!1) +if(l!=null)a=B.a.aL(a,m,s,l)}return new A.hT(a,j,c)}, +v7(a,b,c){var s,r,q,p,o,n="0123456789ABCDEF" +for(s=b.length,r=0,q=0;q>>4]&1<<(p&15))!==0){o=A.aD(p) +c.a+=o}else{o=A.aD(37) +c.a+=o +o=A.aD(n.charCodeAt(p>>>4)) +c.a+=o +o=A.aD(n.charCodeAt(p&15)) +c.a+=o}}if((r&4294967040)!==0)for(q=0;q255)throw A.a(A.af(p,"non-byte value",null))}}, +wb(){var s,r,q,p,o,n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=",m=".",l=":",k="/",j="\\",i="?",h="#",g="/\\",f=J.qb(22,t.p) +for(s=0;s<22;++s)f[s]=new Uint8Array(96) +r=new A.o1(f) +q=new A.o2() +p=new A.o3() +o=r.$2(0,225) +q.$3(o,n,1) +q.$3(o,m,14) +q.$3(o,l,34) +q.$3(o,k,3) +q.$3(o,j,227) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(14,225) +q.$3(o,n,1) +q.$3(o,m,15) +q.$3(o,l,34) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(15,225) +q.$3(o,n,1) +q.$3(o,"%",225) +q.$3(o,l,34) +q.$3(o,k,9) +q.$3(o,j,233) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(1,225) +q.$3(o,n,1) +q.$3(o,l,34) +q.$3(o,k,10) +q.$3(o,j,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(2,235) +q.$3(o,n,139) +q.$3(o,k,131) +q.$3(o,j,131) +q.$3(o,m,146) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(3,235) +q.$3(o,n,11) +q.$3(o,k,68) +q.$3(o,j,68) +q.$3(o,m,18) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(4,229) +q.$3(o,n,5) +p.$3(o,"AZ",229) +q.$3(o,l,102) +q.$3(o,"@",68) +q.$3(o,"[",232) +q.$3(o,k,138) +q.$3(o,j,138) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(5,229) +q.$3(o,n,5) +p.$3(o,"AZ",229) +q.$3(o,l,102) +q.$3(o,"@",68) +q.$3(o,k,138) +q.$3(o,j,138) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(6,231) +p.$3(o,"19",7) +q.$3(o,"@",68) +q.$3(o,k,138) +q.$3(o,j,138) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(7,231) +p.$3(o,"09",7) +q.$3(o,"@",68) +q.$3(o,k,138) +q.$3(o,j,138) +q.$3(o,i,172) +q.$3(o,h,205) +q.$3(r.$2(8,8),"]",5) +o=r.$2(9,235) +q.$3(o,n,11) +q.$3(o,m,16) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(16,235) +q.$3(o,n,11) +q.$3(o,m,17) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(17,235) +q.$3(o,n,11) +q.$3(o,k,9) +q.$3(o,j,233) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(10,235) +q.$3(o,n,11) +q.$3(o,m,18) +q.$3(o,k,10) +q.$3(o,j,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(18,235) +q.$3(o,n,11) +q.$3(o,m,19) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(19,235) +q.$3(o,n,11) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(11,235) +q.$3(o,n,11) +q.$3(o,k,10) +q.$3(o,j,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(12,236) +q.$3(o,n,12) +q.$3(o,i,12) +q.$3(o,h,205) +o=r.$2(13,237) +q.$3(o,n,13) +q.$3(o,i,13) +p.$3(r.$2(20,245),"az",21) +o=r.$2(21,245) +p.$3(o,"az",21) +p.$3(o,"09",21) +q.$3(o,"+-.",21) +return f}, +rL(a,b,c,d,e){var s,r,q,p,o=$.tJ() +for(s=b;s95?31:q] +d=p&31 +e[p>>>5]=s}return d}, +r8(a){if(a.b===7&&B.a.u(a.a,"package")&&a.c<=0)return A.rN(a.a,a.e,a.f) +return-1}, +rN(a,b,c){var s,r,q +for(s=b,r=0;s=1)return a.$1(b) +return a.$0()}, +w2(a,b,c,d){if(d>=2)return a.$2(b,c) +if(d===1)return a.$1(b) +return a.$0()}, +w3(a,b,c,d,e){if(e>=3)return a.$3(b,c,d) +if(e===2)return a.$2(b,c) +if(e===1)return a.$1(b) +return a.$0()}, +w4(a,b,c,d,e,f){if(f>=4)return a.$4(b,c,d,e) +if(f===3)return a.$3(b,c,d) +if(f===2)return a.$2(b,c) +if(f===1)return a.$1(b) +return a.$0()}, +w5(a,b,c,d,e,f,g){if(g>=5)return a.$5(b,c,d,e,f) +if(g===4)return a.$4(b,c,d,e) +if(g===3)return a.$3(b,c,d) +if(g===2)return a.$2(b,c) +if(g===1)return a.$1(b) +return a.$0()}, +rF(a){return a==null||A.bP(a)||typeof a=="number"||typeof a=="string"||t.gj.b(a)||t.p.b(a)||t.go.b(a)||t.dQ.b(a)||t.h7.b(a)||t.an.b(a)||t.bv.b(a)||t.h4.b(a)||t.gN.b(a)||t.dI.b(a)||t.fd.b(a)}, +xC(a){if(A.rF(a))return a +return new A.or(new A.dC(t.hg)).$1(a)}, +cR(a,b,c){return a[b].apply(a,c)}, +dZ(a,b){var s,r +if(b==null)return new a() +if(b instanceof Array)switch(b.length){case 0:return new a() +case 1:return new a(b[0]) +case 2:return new a(b[0],b[1]) +case 3:return new a(b[0],b[1],b[2]) +case 4:return new a(b[0],b[1],b[2],b[3])}s=[null] +B.c.aH(s,b) +r=a.bind.apply(a,s) +String(r) +return new r()}, +a_(a,b){var s=new A.k($.j,b.h("k<0>")),r=new A.a5(s,b.h("a5<0>")) +a.then(A.cl(new A.ov(r),1),A.cl(new A.ow(r),1)) +return s}, +rE(a){return a==null||typeof a==="boolean"||typeof a==="number"||typeof a==="string"||a instanceof Int8Array||a instanceof Uint8Array||a instanceof Uint8ClampedArray||a instanceof Int16Array||a instanceof Uint16Array||a instanceof Int32Array||a instanceof Uint32Array||a instanceof Float32Array||a instanceof Float64Array||a instanceof ArrayBuffer||a instanceof DataView}, +rT(a){if(A.rE(a))return a +return new A.oh(new A.dC(t.hg)).$1(a)}, +or:function or(a){this.a=a}, +ov:function ov(a){this.a=a}, +ow:function ow(a){this.a=a}, +oh:function oh(a){this.a=a}, +hw:function hw(a){this.a=a}, +t0(a,b){return Math.max(a,b)}, +xS(a){return Math.sqrt(a)}, +xR(a){return Math.sin(a)}, +xi(a){return Math.cos(a)}, +xY(a){return Math.tan(a)}, +wU(a){return Math.acos(a)}, +wV(a){return Math.asin(a)}, +xe(a){return Math.atan(a)}, +nr:function nr(a){this.a=a}, +d0:function d0(){}, +fY:function fY(){}, +hn:function hn(){}, +hv:function hv(){}, +hR:function hR(){}, +uj(a,b){var s=new A.eh(a,b,A.a3(t.S,t.aR),A.eK(null,null,!0,t.al),new A.a5(new A.k($.j,t.D),t.h)) +s.hR(a,!1,b) +return s}, +eh:function eh(a,b,c,d,e){var _=this +_.a=a +_.c=b +_.d=0 +_.e=c +_.f=d +_.r=!1 +_.w=e}, +jI:function jI(a){this.a=a}, +jJ:function jJ(a,b){this.a=a +this.b=b}, +iy:function iy(a,b){this.a=a +this.b=b}, +fV:function fV(){}, +h1:function h1(a){this.a=a}, +h0:function h0(){}, +jK:function jK(a){this.a=a}, +jL:function jL(a){this.a=a}, +c0:function c0(){}, +ao:function ao(a,b){this.a=a +this.b=b}, +bb:function bb(a,b){this.a=a +this.b=b}, +aK:function aK(a){this.a=a}, +bh:function bh(a,b,c){this.a=a +this.b=b +this.c=c}, +bq:function bq(a){this.a=a}, +da:function da(a,b){this.a=a +this.b=b}, +cC:function cC(a,b){this.a=a +this.b=b}, +bX:function bX(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +c4:function c4(a){this.a=a}, +bi:function bi(a,b){this.a=a +this.b=b}, +c3:function c3(a,b){this.a=a +this.b=b}, +c6:function c6(a,b){this.a=a +this.b=b}, +bW:function bW(a,b){this.a=a +this.b=b}, +c7:function c7(a){this.a=a}, +c5:function c5(a,b){this.a=a +this.b=b}, +bA:function bA(a){this.a=a}, +bC:function bC(a){this.a=a}, +uX(a,b,c){var s=null,r=t.S,q=A.d([],t.t) +r=new A.kM(a,!1,!0,A.a3(r,t.x),A.a3(r,t.g1),q,new A.fl(s,s,t.dn),A.oR(t.gw),new A.a5(new A.k($.j,t.D),t.h),A.eK(s,s,!1,t.bw)) +r.hT(a,!1,!0) +return r}, +kM:function kM(a,b,c,d,e,f,g,h,i,j){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=_.e=0 +_.r=e +_.w=f +_.x=g +_.y=!1 +_.z=h +_.Q=i +_.as=j}, +kR:function kR(a){this.a=a}, +kS:function kS(a,b){this.a=a +this.b=b}, +kT:function kT(a,b){this.a=a +this.b=b}, +kN:function kN(a,b){this.a=a +this.b=b}, +kO:function kO(a,b){this.a=a +this.b=b}, +kQ:function kQ(a,b){this.a=a +this.b=b}, +kP:function kP(a){this.a=a}, +ff:function ff(a,b,c){this.a=a +this.b=b +this.c=c}, +i2:function i2(a){this.a=a}, +lW:function lW(a,b){this.a=a +this.b=b}, +lX:function lX(a,b){this.a=a +this.b=b}, +lU:function lU(){}, +lQ:function lQ(a,b){this.a=a +this.b=b}, +lR:function lR(){}, +lS:function lS(){}, +lP:function lP(){}, +lV:function lV(){}, +lT:function lT(){}, +dp:function dp(a,b){this.a=a +this.b=b}, +bE:function bE(a,b){this.a=a +this.b=b}, +xP(a,b){var s,r,q={} +q.a=s +q.a=null +s=new A.bV(new A.aa(new A.k($.j,b.h("k<0>")),b.h("aa<0>")),A.d([],t.bT),b.h("bV<0>")) +q.a=s +r=t.X +A.xQ(new A.ox(q,a,b),A.kn([B.ah,s],r,r),t.H) +return q.a}, +ps(){var s=$.j.i(0,B.ah) +if(s instanceof A.bV&&s.c)throw A.a(B.a_)}, +ox:function ox(a,b,c){this.a=a +this.b=b +this.c=c}, +bV:function bV(a,b,c){var _=this +_.a=a +_.b=b +_.c=!1 +_.$ti=c}, +e9:function e9(){}, +an:function an(){}, +e7:function e7(a,b){this.a=a +this.b=b}, +cZ:function cZ(a,b){this.a=a +this.b=b}, +rz(a){return"SAVEPOINT s"+a}, +rx(a){return"RELEASE s"+a}, +ry(a){return"ROLLBACK TO s"+a}, +jy:function jy(){}, +kA:function kA(){}, +ln:function ln(){}, +kt:function kt(){}, +jC:function jC(){}, +hu:function hu(){}, +jR:function jR(){}, +i8:function i8(){}, +m4:function m4(a,b,c){this.a=a +this.b=b +this.c=c}, +m9:function m9(a,b,c){this.a=a +this.b=b +this.c=c}, +m7:function m7(a,b,c){this.a=a +this.b=b +this.c=c}, +m8:function m8(a,b,c){this.a=a +this.b=b +this.c=c}, +m6:function m6(a,b,c){this.a=a +this.b=b +this.c=c}, +m5:function m5(a,b){this.a=a +this.b=b}, +iL:function iL(){}, +fj:function fj(a,b,c,d,e,f,g,h,i){var _=this +_.y=a +_.z=null +_.Q=b +_.as=c +_.at=d +_.ax=e +_.ay=f +_.ch=g +_.e=h +_.a=i +_.b=0 +_.d=_.c=!1}, +nC:function nC(a){this.a=a}, +nD:function nD(a){this.a=a}, +fZ:function fZ(){}, +jH:function jH(a,b){this.a=a +this.b=b}, +jG:function jG(a){this.a=a}, +i9:function i9(a,b){var _=this +_.e=a +_.a=b +_.b=0 +_.d=_.c=!1}, +f2:function f2(a,b,c){var _=this +_.e=a +_.f=null +_.r=b +_.a=c +_.b=0 +_.d=_.c=!1}, +ms:function ms(a,b){this.a=a +this.b=b}, +qv(a,b){var s,r,q,p=A.a3(t.N,t.S) +for(s=a.length,r=0;r3)throw A.a("Expected two or three arguments to regexp") +s=a.i(0,0) +q=a.i(0,1) +if(s==null||q==null)return null +if(typeof s!="string"||typeof q!="string")throw A.a("Expected two strings as parameters to regexp") +if(g===3){p=a.i(0,2) +if(A.bp(p)){k=(p&1)===1 +j=(p&2)!==2 +i=(p&4)===4 +h=(p&8)===8}}r=null +try{o=k +n=j +m=i +r=A.J(s,n,h,o,m)}catch(l){if(A.F(l) instanceof A.bt)throw A.a("Invalid regex") +else throw l}o=r.b +return o.test(q)}, +wa(a){var s,r,q=a.a.b +if(q<2||q>3)throw A.a("Expected 2 or 3 arguments to moor_contains") +s=a.i(0,0) +r=a.i(0,1) +if(typeof s!="string"||typeof r!="string")throw A.a("First two args to contains must be strings") +return q===3&&a.i(0,2)===1?J.tZ(s,r):B.a.K(s.toLowerCase(),r.toLowerCase())}, +jS:function jS(){}, +oc:function oc(a){this.a=a}, +hk:function hk(a){var _=this +_.a=$ +_.b=!1 +_.d=null +_.e=a}, +kk:function kk(a,b){this.a=a +this.b=b}, +kl:function kl(a,b){this.a=a +this.b=b}, +bj:function bj(){this.a=null}, +ko:function ko(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +kp:function kp(a,b,c){this.a=a +this.b=b +this.c=c}, +kq:function kq(a,b){this.a=a +this.b=b}, +vb(a,b,c,d){var s,r=null,q=new A.hJ(t.a7),p=t.X,o=A.eK(r,r,!1,p),n=A.eK(r,r,!1,p),m=A.q7(new A.ap(n,A.t(n).h("ap<1>")),new A.dN(o),!0,p) +q.a=m +p=A.q7(new A.ap(o,A.t(o).h("ap<1>")),new A.dN(n),!0,p) +q.b=p +s=new A.i2(A.oT(c)) +a.onmessage=A.aV(new A.lM(b,q,d,s)) +m=m.b +m===$&&A.H() +new A.ap(m,A.t(m).h("ap<1>")).eB(new A.lN(d,s,a),new A.lO(b,a)) +return p}, +lM:function lM(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +lN:function lN(a,b,c){this.a=a +this.b=b +this.c=c}, +lO:function lO(a,b){this.a=a +this.b=b}, +jD:function jD(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=null}, +jF:function jF(a){this.a=a}, +jE:function jE(a,b){this.a=a +this.b=b}, +oT(a){var s +$label0$0:{if(a<=0){s=B.u +break $label0$0}if(1===a){s=B.aZ +break $label0$0}if(2===a){s=B.b_ +break $label0$0}if(3===a){s=B.b0 +break $label0$0}if(a>3){s=B.v +break $label0$0}s=A.B(A.e5(null))}return s}, +qu(a){if("v" in a)return A.oT(A.h(A.r(a.v))) +else return B.u}, +p0(a){var s,r,q,p,o,n,m,l,k,j=A.a2(a.type),i=a.payload +$label0$0:{if("Error"===j){s=new A.dt(A.a2(t.m.a(i))) +break $label0$0}if("ServeDriftDatabase"===j){s=t.m +s.a(i) +r=A.qu(i) +q=A.bn(A.a2(i.sqlite)) +s=s.a(i.port) +p=A.oH(B.aT,A.a2(i.storage)) +o=A.a2(i.database) +n=t.A.a(i.initPort) +m=r.c +l=m<2||A.bo(i.migrations) +s=new A.di(q,s,p,o,n,r,l,m<3||A.bo(i.new_serialization)) +break $label0$0}if("StartFileSystemServer"===j){s=new A.eI(t.m.a(i)) +break $label0$0}if("RequestCompatibilityCheck"===j){s=new A.dg(A.a2(i)) +break $label0$0}if("DedicatedWorkerCompatibilityResult"===j){t.m.a(i) +k=A.d([],t.L) +if("existing" in i)B.c.aH(k,A.q1(t.c.a(i.existing))) +s=A.bo(i.supportsNestedWorkers) +q=A.bo(i.canAccessOpfs) +p=A.bo(i.supportsSharedArrayBuffers) +o=A.bo(i.supportsIndexedDb) +n=A.bo(i.indexedDbExists) +m=A.bo(i.opfsExists) +m=new A.eg(s,q,p,o,k,A.qu(i),n,m) +s=m +break $label0$0}if("SharedWorkerCompatibilityResult"===j){s=A.uY(t.c.a(i)) +break $label0$0}if("DeleteDatabase"===j){s=i==null?t.K.a(i):i +t.c.a(s) +q=$.pI().i(0,A.a2(s[0])) +q.toString +s=new A.h_(new A.ai(q,A.a2(s[1]))) +break $label0$0}s=A.B(A.K("Unknown type "+j,null))}return s}, +uY(a){var s,r,q=new A.l_(a) +if(a.length>5){s=A.q1(t.c.a(a[5])) +r=a.length>6?A.oT(A.h(A.r(a[6]))):B.u}else{s=B.C +r=B.u}return new A.c8(q.$1(0),q.$1(1),q.$1(2),s,r,q.$1(3),q.$1(4))}, +q1(a){var s,r,q=A.d([],t.L),p=B.c.by(a,t.m),o=p.$ti +p=new A.aZ(p,p.gl(0),o.h("aZ")) +o=o.h("x.E") +for(;p.k();){s=p.d +if(s==null)s=o.a(s) +r=$.pI().i(0,A.a2(s.l)) +r.toString +q.push(new A.ai(r,A.a2(s.n)))}return q}, +q0(a){var s,r,q,p,o=A.d([],t.W) +for(s=a.length,r=0;r"))) +for(;i.k();){l=i.gm() +if(J.a6(l.name,a)){q=!0 +s=1 +break $async$outer}}q=!1 +s=1 +break +case 8:k=n.open(a,1) +k.onupgradeneeded=A.aV(new A.of(g,k)) +s=10 +return A.c(A.jk(k,i),$async$e_) +case 10:j=c +if(g.a==null)g.a=!0 +j.close() +s=g.a===!1?11:12 +break +case 11:s=13 +return A.c(A.jk(n.deleteDatabase(a),t.X),$async$e_) +case 13:case 12:p=2 +s=6 +break +case 4:p=3 +f=o +s=6 +break +case 3:s=2 +break +case 6:i=g.a +q=i===!0 +s=1 +break +case 1:return A.m(q,r) +case 2:return A.l(o,r)}}) +return A.n($async$e_,r)}, +oi(a){var s=0,r=A.o(t.H),q,p +var $async$oi=A.p(function(b,c){if(b===1)return A.l(c,r) +while(true)switch(s){case 0:q=t.m +p=q.a(self) +s="indexedDB" in p?2:3 +break +case 2:s=4 +return A.c(A.jk(q.a(p.indexedDB).deleteDatabase(a),t.X),$async$oi) +case 4:case 3:return A.m(null,r)}}) +return A.n($async$oi,r)}, +e1(){var s=0,r=A.o(t.u),q,p=2,o,n=[],m,l,k,j,i,h,g,f,e +var $async$e1=A.p(function(a,b){if(a===1){o=b +s=p}while(true)switch(s){case 0:f=A.pq() +if(f==null){q=B.r +s=1 +break}i=t.m +s=3 +return A.c(A.a_(f.getDirectory(),i),$async$e1) +case 3:m=b +p=5 +s=8 +return A.c(A.a_(m.getDirectoryHandle("drift_db"),i),$async$e1) +case 8:m=b +p=2 +s=7 +break +case 5:p=4 +e=o +q=B.r +s=1 +break +s=7 +break +case 4:s=2 +break +case 7:i=m +g=t.cO +if(!(self.Symbol.asyncIterator in i))A.B(A.K("Target object does not implement the async iterable interface",null)) +l=new A.f8(new A.ou(),new A.e6(i,g),g.h("f8")) +k=A.d([],t.s) +i=new A.dM(A.cS(l,"stream",t.K)) +p=9 +case 12:s=14 +return A.c(i.k(),$async$e1) +case 14:if(!b){s=13 +break}j=i.gm() +if(J.a6(j.kind,"directory"))J.oD(k,j.name) +s=12 +break +case 13:n.push(11) +s=10 +break +case 9:n=[2] +case 10:p=2 +s=15 +return A.c(i.J(),$async$e1) +case 15:s=n.pop() +break +case 11:q=k +s=1 +break +case 1:return A.m(q,r) +case 2:return A.l(o,r)}}) +return A.n($async$e1,r)}, +fA(a){return A.xk(a)}, +xk(a){var s=0,r=A.o(t.H),q,p=2,o,n,m,l,k,j +var $async$fA=A.p(function(b,c){if(b===1){o=c +s=p}while(true)switch(s){case 0:k=A.pq() +if(k==null){s=1 +break}m=t.m +s=3 +return A.c(A.a_(k.getDirectory(),m),$async$fA) +case 3:n=c +p=5 +s=8 +return A.c(A.a_(n.getDirectoryHandle("drift_db"),m),$async$fA) +case 8:n=c +s=9 +return A.c(A.a_(n.removeEntry(a,{recursive:!0}),t.X),$async$fA) +case 9:p=2 +s=7 +break +case 5:p=4 +j=o +s=7 +break +case 4:s=2 +break +case 7:case 1:return A.m(q,r) +case 2:return A.l(o,r)}}) +return A.n($async$fA,r)}, +jk(a,b){var s=new A.k($.j,b.h("k<0>")),r=new A.aa(s,b.h("aa<0>")) +A.aE(a,"success",new A.jn(r,a,b),!1) +A.aE(a,"error",new A.jo(r,a),!1) +A.aE(a,"blocked",new A.jp(r,a),!1) +return s}, +of:function of(a,b){this.a=a +this.b=b}, +ou:function ou(){}, +h2:function h2(a,b){this.a=a +this.b=b}, +jQ:function jQ(a,b){this.a=a +this.b=b}, +jN:function jN(a){this.a=a}, +jM:function jM(a){this.a=a}, +jO:function jO(a,b,c){this.a=a +this.b=b +this.c=c}, +jP:function jP(a,b,c){this.a=a +this.b=b +this.c=c}, +mh:function mh(a,b){this.a=a +this.b=b}, +dh:function dh(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=c}, +kK:function kK(a){this.a=a}, +ly:function ly(a,b){this.a=a +this.b=b}, +jn:function jn(a,b,c){this.a=a +this.b=b +this.c=c}, +jo:function jo(a,b){this.a=a +this.b=b}, +jp:function jp(a,b){this.a=a +this.b=b}, +kU:function kU(a,b){this.a=a +this.b=null +this.c=b}, +kZ:function kZ(a){this.a=a}, +kV:function kV(a,b){this.a=a +this.b=b}, +kY:function kY(a,b,c){this.a=a +this.b=b +this.c=c}, +kW:function kW(a){this.a=a}, +kX:function kX(a,b,c){this.a=a +this.b=b +this.c=c}, +cd:function cd(a,b){this.a=a +this.b=b}, +bL:function bL(a,b){this.a=a +this.b=b}, +hZ:function hZ(a,b,c,d,e){var _=this +_.e=a +_.f=null +_.r=b +_.w=c +_.x=d +_.a=e +_.b=0 +_.d=_.c=!1}, +nW:function nW(a,b,c,d,e,f,g){var _=this +_.Q=a +_.as=b +_.at=c +_.b=null +_.d=_.c=!1 +_.e=d +_.f=e +_.r=f +_.x=g +_.y=$ +_.a=!1}, +jt(a,b){if(a==null)a="." +return new A.fW(b,a)}, +pp(a){return a}, +rO(a,b){var s,r,q,p,o,n,m,l +for(s=b.length,r=1;r=1;s=q){q=s-1 +if(b[q]!=null)break}p=new A.ax("") +o=""+(a+"(") +p.a=o +n=A.R(b) +m=n.h("cD<1>") +l=new A.cD(b,0,s,m) +l.hU(b,0,s,n.c) +m=o+new A.E(l,new A.od(),m.h("E")).ar(0,", ") +p.a=m +p.a=m+("): part "+(r-1)+" was null, but part "+r+" was not.") +throw A.a(A.K(p.j(0),null))}}, +fW:function fW(a,b){this.a=a +this.b=b}, +ju:function ju(){}, +jv:function jv(){}, +od:function od(){}, +dH:function dH(a){this.a=a}, +dI:function dI(a){this.a=a}, +kf:function kf(){}, +db(a,b){var s,r,q,p,o,n=b.hA(a) +b.ab(a) +if(n!=null)a=B.a.L(a,n.length) +s=t.s +r=A.d([],s) +q=A.d([],s) +s=a.length +if(s!==0&&b.D(a.charCodeAt(0))){q.push(a[0]) +p=1}else{q.push("") +p=0}for(o=p;o")),r=new A.aa(s,b.h("aa<0>")) +A.aE(a,"success",new A.jl(r,a,b),!1) +A.aE(a,"error",new A.jm(r,a),!1) +return s}, +uh(a,b){var s=new A.k($.j,b.h("k<0>")),r=new A.aa(s,b.h("aa<0>")) +A.aE(a,"success",new A.jq(r,a,b),!1) +A.aE(a,"error",new A.jr(r,a),!1) +A.aE(a,"blocked",new A.js(r,a),!1) +return s}, +cJ:function cJ(a,b){var _=this +_.c=_.b=_.a=null +_.d=a +_.$ti=b}, +mi:function mi(a,b){this.a=a +this.b=b}, +mj:function mj(a,b){this.a=a +this.b=b}, +jl:function jl(a,b,c){this.a=a +this.b=b +this.c=c}, +jm:function jm(a,b){this.a=a +this.b=b}, +jq:function jq(a,b,c){this.a=a +this.b=b +this.c=c}, +jr:function jr(a,b){this.a=a +this.b=b}, +js:function js(a,b){this.a=a +this.b=b}, +lE(a,b){var s=0,r=A.o(t.g9),q,p,o,n,m,l +var $async$lE=A.p(function(c,d){if(c===1)return A.l(d,r) +while(true)switch(s){case 0:l={} +b.aa(0,new A.lG(l)) +p=t.m +s=3 +return A.c(A.a_(self.WebAssembly.instantiateStreaming(a,l),p),$async$lE) +case 3:o=d +n=o.instance.exports +if("_initialize" in n)t.g.a(n._initialize).call() +m=t.N +p=new A.i0(A.a3(m,t.g),A.a3(m,p)) +p.hV(o.instance) +q=p +s=1 +break +case 1:return A.m(q,r)}}) +return A.n($async$lE,r)}, +i0:function i0(a,b){this.a=a +this.b=b}, +lG:function lG(a){this.a=a}, +lF:function lF(a){this.a=a}, +lI(a){var s=0,r=A.o(t.ab),q,p,o +var $async$lI=A.p(function(b,c){if(b===1)return A.l(c,r) +while(true)switch(s){case 0:p=a.ghb()?new self.URL(a.j(0)):new self.URL(a.j(0),A.eN().j(0)) +o=A +s=3 +return A.c(A.a_(self.fetch(p,null),t.m),$async$lI) +case 3:q=o.lH(c) +s=1 +break +case 1:return A.m(q,r)}}) +return A.n($async$lI,r)}, +lH(a){var s=0,r=A.o(t.ab),q,p,o +var $async$lH=A.p(function(b,c){if(b===1)return A.l(c,r) +while(true)switch(s){case 0:p=A +o=A +s=3 +return A.c(A.lx(a),$async$lH) +case 3:q=new p.i1(new o.lJ(c)) +s=1 +break +case 1:return A.m(q,r)}}) +return A.n($async$lH,r)}, +i1:function i1(a){this.a=a}, +ds:function ds(a,b,c,d,e){var _=this +_.d=a +_.e=b +_.r=c +_.b=d +_.a=e}, +i_:function i_(a,b){this.a=a +this.b=b +this.c=0}, +qx(a){var s +if(!J.a6(a.byteLength,8))throw A.a(A.K("Must be 8 in length",null)) +s=self.Int32Array +return new A.kJ(t.ha.a(A.dZ(s,[a])))}, +uI(a){return B.h}, +uJ(a){var s=a.b +return new A.T(s.getInt32(0,!1),s.getInt32(4,!1),s.getInt32(8,!1))}, +uK(a){var s=a.b +return new A.aS(B.j.cV(A.oV(a.a,16,s.getInt32(12,!1))),s.getInt32(0,!1),s.getInt32(4,!1),s.getInt32(8,!1))}, +kJ:function kJ(a){this.b=a}, +bk:function bk(a,b,c){this.a=a +this.b=b +this.c=c}, +ad:function ad(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.a=c +_.b=d +_.$ti=e}, +by:function by(){}, +aY:function aY(){}, +T:function T(a,b,c){this.a=a +this.b=b +this.c=c}, +aS:function aS(a,b,c,d){var _=this +_.d=a +_.a=b +_.b=c +_.c=d}, +hX(a){var s=0,r=A.o(t.ei),q,p,o,n,m,l,k,j,i +var $async$hX=A.p(function(b,c){if(b===1)return A.l(c,r) +while(true)switch(s){case 0:k=t.m +s=3 +return A.c(A.a_(A.pD().getDirectory(),k),$async$hX) +case 3:j=c +i=$.fG().aN(0,a.root) +p=i.length,o=0 +case 4:if(!(o")),A.y1(),r.h("aB<1,a1>")),t.a))}if(!B.a.K(a,q))return new A.bf(A.aJ(A.d([A.qJ(a)],t.J),t.a)) +return new A.bf(A.aJ(new A.E(A.d(a.split(q),t.s),A.y0(),t.fe),t.a))}, +bf:function bf(a){this.a=a}, +jb:function jb(){}, +jg:function jg(){}, +jf:function jf(){}, +jd:function jd(){}, +je:function je(a){this.a=a}, +jc:function jc(a){this.a=a}, +uv(a){return A.q4(a)}, +q4(a){return A.h9(a,new A.k1(a))}, +uu(a){return A.ur(a)}, +ur(a){return A.h9(a,new A.k_(a))}, +uo(a){return A.h9(a,new A.jX(a))}, +us(a){return A.up(a)}, +up(a){return A.h9(a,new A.jY(a))}, +ut(a){return A.uq(a)}, +uq(a){return A.h9(a,new A.jZ(a))}, +ha(a){if(B.a.K(a,$.ta()))return A.bn(a) +else if(B.a.K(a,$.tb()))return A.rf(a,!0) +else if(B.a.u(a,"/"))return A.rf(a,!1) +if(B.a.K(a,"\\"))return $.tU().ht(a) +return A.bn(a)}, +h9(a,b){var s,r +try{s=b.$0() +return s}catch(r){if(A.F(r) instanceof A.bt)return new A.bm(A.al(null,"unparsed",null,null),a) +else throw r}}, +N:function N(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +k1:function k1(a){this.a=a}, +k_:function k_(a){this.a=a}, +k0:function k0(a){this.a=a}, +jX:function jX(a){this.a=a}, +jY:function jY(a){this.a=a}, +jZ:function jZ(a){this.a=a}, +hl:function hl(a){this.a=a +this.b=$}, +qI(a){if(t.a.b(a))return a +if(a instanceof A.bf)return a.hs() +return new A.hl(new A.lj(a))}, +qJ(a){var s,r,q +try{if(a.length===0){r=A.qF(A.d([],t.e),null) +return r}if(B.a.K(a,$.tN())){r=A.v3(a) +return r}if(B.a.K(a,"\tat ")){r=A.v2(a) +return r}if(B.a.K(a,$.tD())||B.a.K(a,$.tB())){r=A.v1(a) +return r}if(B.a.K(a,u.q)){r=A.ub(a).hs() +return r}if(B.a.K(a,$.tG())){r=A.qG(a) +return r}r=A.qH(a) +return r}catch(q){r=A.F(q) +if(r instanceof A.bt){s=r +throw A.a(A.ak(s.a+"\nStack trace:\n"+a,null,null))}else throw q}}, +v5(a){return A.qH(a)}, +qH(a){var s=A.aJ(A.v6(a),t.B) +return new A.a1(s)}, +v6(a){var s,r=B.a.eM(a),q=$.pM(),p=t.U,o=new A.aU(A.d(A.bc(r,q,"").split("\n"),t.s),new A.lk(),p) +if(!o.gt(0).k())return A.d([],t.e) +r=A.oZ(o,o.gl(0)-1,p.h("f.E")) +r=A.eu(r,A.xq(),A.t(r).h("f.E"),t.B) +s=A.aw(r,!0,A.t(r).h("f.E")) +if(!J.u_(o.gC(0),".da"))B.c.v(s,A.q4(o.gC(0))) +return s}, +v3(a){var s=A.b3(A.d(a.split("\n"),t.s),1,null,t.N).hM(0,new A.li()),r=t.B +r=A.aJ(A.eu(s,A.rV(),s.$ti.h("f.E"),r),r) +return new A.a1(r)}, +v2(a){var s=A.aJ(new A.aB(new A.aU(A.d(a.split("\n"),t.s),new A.lh(),t.U),A.rV(),t.M),t.B) +return new A.a1(s)}, +v1(a){var s=A.aJ(new A.aB(new A.aU(A.d(B.a.eM(a).split("\n"),t.s),new A.lf(),t.U),A.xo(),t.M),t.B) +return new A.a1(s)}, +v4(a){return A.qG(a)}, +qG(a){var s=a.length===0?A.d([],t.e):new A.aB(new A.aU(A.d(B.a.eM(a).split("\n"),t.s),new A.lg(),t.U),A.xp(),t.M) +s=A.aJ(s,t.B) +return new A.a1(s)}, +qF(a,b){var s=A.aJ(a,t.B) +return new A.a1(s)}, +a1:function a1(a){this.a=a}, +lj:function lj(a){this.a=a}, +lk:function lk(){}, +li:function li(){}, +lh:function lh(){}, +lf:function lf(){}, +lg:function lg(){}, +lm:function lm(){}, +ll:function ll(a){this.a=a}, +bm:function bm(a,b){this.a=a +this.w=b}, +eb:function eb(a){var _=this +_.b=_.a=$ +_.c=null +_.d=!1 +_.$ti=a}, +eX:function eX(a,b,c){this.a=a +this.b=b +this.$ti=c}, +eW:function eW(a,b){this.b=a +this.a=b}, +q7(a,b,c,d){var s,r={} +r.a=a +s=new A.em(d.h("em<0>")) +s.hS(b,!0,r,d) +return s}, +em:function em(a){var _=this +_.b=_.a=$ +_.c=null +_.d=!1 +_.$ti=a}, +k8:function k8(a,b){this.a=a +this.b=b}, +k7:function k7(a){this.a=a}, +f5:function f5(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.e=_.d=!1 +_.r=_.f=null +_.w=d}, +hJ:function hJ(a){this.b=this.a=$ +this.$ti=a}, +eJ:function eJ(){}, +bH:function bH(){}, +ir:function ir(){}, +bI:function bI(a,b){this.a=a +this.b=b}, +aE(a,b,c,d){var s +if(c==null)s=null +else{s=A.rP(new A.mq(c),t.m) +s=s==null?null:A.aV(s)}s=new A.ij(a,b,s,!1) +s.e5() +return s}, +rP(a,b){var s=$.j +if(s===B.d)return a +return s.eg(a,b)}, +oI:function oI(a,b){this.a=a +this.$ti=b}, +f1:function f1(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +ij:function ij(a,b,c,d){var _=this +_.a=0 +_.b=a +_.c=b +_.d=c +_.e=d}, +mq:function mq(a){this.a=a}, +mr:function mr(a){this.a=a}, +pC(a){if(typeof dartPrint=="function"){dartPrint(a) +return}if(typeof console=="object"&&typeof console.log!="undefined"){console.log(a) +return}if(typeof print=="function"){print(a) +return}throw"Unable to print message: "+String(a)}, +uG(a){return a}, +kg(a,b){var s,r,q,p,o,n +if(b.length===0)return!1 +s=b.split(".") +r=t.m.a(self) +for(q=s.length,p=t.A,o=0;o=65&&a<=90))s=a>=97&&a<=122 +else s=!0 +return s}, +rU(a,b){var s,r,q=null,p=a.length,o=b+2 +if(p0)throw A.a(A.jT("BigInt value exceeds the range of 64 bits")) +return a}, +oL(a,b){var s,r +for(s=b,r=0;r<16;++r)s+=A.aD("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012346789".charCodeAt(a.hg(61))) +return s.charCodeAt(0)==0?s:s}, +kI(a){var s=0,r=A.o(t.dI),q +var $async$kI=A.p(function(b,c){if(b===1)return A.l(c,r) +while(true)switch(s){case 0:s=3 +return A.c(A.a_(a.arrayBuffer(),t.o),$async$kI) +case 3:q=c +s=1 +break +case 1:return A.m(q,r)}}) +return A.n($async$kI,r)}, +qA(a,b,c){var s=self.DataView,r=[a] +r.push(b) +r.push(c) +return t.gT.a(A.dZ(s,r))}, +oV(a,b,c){var s=self.Uint8Array,r=[a] +r.push(b) +r.push(c) +return t.Z.a(A.dZ(s,r))}, +u8(a,b){self.Atomics.notify(a,b,1/0)}, +pD(){var s=self.navigator +if("storage" in s)return s.storage +return null}, +jU(a,b,c){return a.read(b,c)}, +oJ(a,b,c){return a.write(b,c)}, +q3(a,b){return A.a_(a.removeEntry(b,{recursive:!1}),t.X)}, +xE(){var s=t.m.a(self) +if(A.kg(s,"DedicatedWorkerGlobalScope"))new A.jD(s,new A.bj(),new A.h2(A.a3(t.N,t.fE),null)).T() +else if(A.kg(s,"SharedWorkerGlobalScope"))new A.kU(s,new A.h2(A.a3(t.N,t.fE),null)).T() +return null}},B={} +var w=[A,J,B] +var $={} +A.oP.prototype={} +J.hf.prototype={ +W(a,b){return a===b}, +gB(a){return A.eC(a)}, +j(a){return"Instance of '"+A.ky(a)+"'"}, +gV(a){return A.bR(A.pn(this))}} +J.hg.prototype={ +j(a){return String(a)}, +gB(a){return a?519018:218159}, +gV(a){return A.bR(t.y)}, +$iL:1, +$iO:1} +J.er.prototype={ +W(a,b){return null==b}, +j(a){return"null"}, +gB(a){return 0}, +$iL:1, +$iG:1} +J.es.prototype={$iA:1} +J.c_.prototype={ +gB(a){return 0}, +j(a){return String(a)}} +J.hz.prototype={} +J.cF.prototype={} +J.bv.prototype={ +j(a){var s=a[$.e2()] +if(s==null)return this.hN(a) +return"JavaScript function for "+J.aW(s)}} +J.aA.prototype={ +gB(a){return 0}, +j(a){return String(a)}} +J.d6.prototype={ +gB(a){return 0}, +j(a){return String(a)}} +J.w.prototype={ +by(a,b){return new A.aj(a,A.R(a).h("@<1>").H(b).h("aj<1,2>"))}, +v(a,b){a.$flags&1&&A.z(a,29) +a.push(b)}, +d8(a,b){var s +a.$flags&1&&A.z(a,"removeAt",1) +s=a.length +if(b>=s)throw A.a(A.kD(b,null)) +return a.splice(b,1)[0]}, +d_(a,b,c){var s +a.$flags&1&&A.z(a,"insert",2) +s=a.length +if(b>s)throw A.a(A.kD(b,null)) +a.splice(b,0,c)}, +ev(a,b,c){var s,r +a.$flags&1&&A.z(a,"insertAll",2) +A.qw(b,0,a.length,"index") +if(!t.Q.b(c))c=J.j2(c) +s=J.ae(c) +a.length=a.length+s +r=b+s +this.N(a,r,a.length,a,b) +this.af(a,b,r,c)}, +hm(a){a.$flags&1&&A.z(a,"removeLast",1) +if(a.length===0)throw A.a(A.e0(a,-1)) +return a.pop()}, +A(a,b){var s +a.$flags&1&&A.z(a,"remove",1) +for(s=0;s").H(c).h("E<1,2>"))}, +ar(a,b){var s,r=A.b_(a.length,"",!1,t.N) +for(s=0;ss)throw A.a(A.W(b,0,s,"start",null)) +if(cs)throw A.a(A.W(c,b,s,"end",null)) +if(b===c)return A.d([],A.R(a)) +return A.d(a.slice(b,c),A.R(a))}, +co(a,b,c){A.ba(b,c,a.length) +return A.b3(a,b,c,A.R(a).c)}, +gG(a){if(a.length>0)return a[0] +throw A.a(A.am())}, +gC(a){var s=a.length +if(s>0)return a[s-1] +throw A.a(A.am())}, +N(a,b,c,d,e){var s,r,q,p,o +a.$flags&2&&A.z(a,5) +A.ba(b,c,a.length) +s=c-b +if(s===0)return +A.ac(e,"skipCount") +if(t.j.b(d)){r=d +q=e}else{r=J.e4(d,e).aA(0,!1) +q=0}p=J.Z(r) +if(q+s>p.gl(r))throw A.a(A.qa()) +if(q=0;--o)a[b+o]=p.i(r,q+o) +else for(o=0;o0){a[0]=q +a[1]=r}return}p=0 +if(A.R(a).c.b(null))for(o=0;o0)this.j4(a,p)}, +hH(a){return this.hI(a,null)}, +j4(a,b){var s,r=a.length +for(;s=r-1,r>0;r=s)if(a[s]===null){a[s]=void 0;--b +if(b===0)break}}, +d2(a,b){var s,r=a.length,q=r-1 +if(q<0)return-1 +q>=r +for(s=q;s>=0;--s)if(J.a6(a[s],b))return s +return-1}, +gF(a){return a.length===0}, +j(a){return A.oN(a,"[","]")}, +aA(a,b){var s=A.d(a.slice(0),A.R(a)) +return s}, +cj(a){return this.aA(a,!0)}, +gt(a){return new J.fJ(a,a.length,A.R(a).h("fJ<1>"))}, +gB(a){return A.eC(a)}, +gl(a){return a.length}, +i(a,b){if(!(b>=0&&b=0&&b=p){r.d=null +return!1}r.d=q[s] +r.c=s+1 +return!0}} +J.d5.prototype={ +ai(a,b){var s +if(ab)return 1 +else if(a===b){if(a===0){s=this.gey(b) +if(this.gey(a)===s)return 0 +if(this.gey(a))return-1 +return 1}return 0}else if(isNaN(a)){if(isNaN(b))return 0 +return 1}else return-1}, +gey(a){return a===0?1/a<0:a<0}, +kS(a){var s +if(a>=-2147483648&&a<=2147483647)return a|0 +if(isFinite(a)){s=a<0?Math.ceil(a):Math.floor(a) +return s+0}throw A.a(A.a4(""+a+".toInt()"))}, +jO(a){var s,r +if(a>=0){if(a<=2147483647){s=a|0 +return a===s?s:s+1}}else if(a>=-2147483648)return a|0 +r=Math.ceil(a) +if(isFinite(r))return r +throw A.a(A.a4(""+a+".ceil()"))}, +j(a){if(a===0&&1/a<0)return"-0.0" +else return""+a}, +gB(a){var s,r,q,p,o=a|0 +if(a===o)return o&536870911 +s=Math.abs(a) +r=Math.log(s)/0.6931471805599453|0 +q=Math.pow(2,r) +p=s<1?s/q:q/s +return((p*9007199254740992|0)+(p*3542243181176521|0))*599197+r*1259&536870911}, +ae(a,b){var s=a%b +if(s===0)return 0 +if(s>0)return s +return s+b}, +eX(a,b){if((a|0)===a)if(b>=1||b<-1)return a/b|0 +return this.fM(a,b)}, +I(a,b){return(a|0)===a?a/b|0:this.fM(a,b)}, +fM(a,b){var s=a/b +if(s>=-2147483648&&s<=2147483647)return s|0 +if(s>0){if(s!==1/0)return Math.floor(s)}else if(s>-1/0)return Math.ceil(s) +throw A.a(A.a4("Result of truncating division is "+A.v(s)+": "+A.v(a)+" ~/ "+b))}, +b0(a,b){if(b<0)throw A.a(A.dY(b)) +return b>31?0:a<>>0}, +bk(a,b){var s +if(b<0)throw A.a(A.dY(b)) +if(a>0)s=this.e4(a,b) +else{s=b>31?31:b +s=a>>s>>>0}return s}, +O(a,b){var s +if(a>0)s=this.e4(a,b) +else{s=b>31?31:b +s=a>>s>>>0}return s}, +jj(a,b){if(0>b)throw A.a(A.dY(b)) +return this.e4(a,b)}, +e4(a,b){return b>31?0:a>>>b}, +gV(a){return A.bR(t.E)}, +$iI:1, +$ib5:1} +J.eq.prototype={ +gfY(a){var s,r=a<0?-a-1:a,q=r +for(s=32;q>=4294967296;){q=this.I(q,4294967296) +s+=32}return s-Math.clz32(q)}, +gV(a){return A.bR(t.S)}, +$iL:1, +$ib:1} +J.hh.prototype={ +gV(a){return A.bR(t.i)}, +$iL:1} +J.bY.prototype={ +jQ(a,b){if(b<0)throw A.a(A.e0(a,b)) +if(b>=a.length)A.B(A.e0(a,b)) +return a.charCodeAt(b)}, +cO(a,b,c){var s=b.length +if(c>s)throw A.a(A.W(c,0,s,null,null)) +return new A.iH(b,a,c)}, +ed(a,b){return this.cO(a,b,0)}, +he(a,b,c){var s,r,q=null +if(c<0||c>b.length)throw A.a(A.W(c,0,b.length,q,q)) +s=a.length +if(c+s>b.length)return q +for(r=0;rr)return!1 +return b===this.L(a,r-s)}, +hp(a,b,c){A.qw(0,0,a.length,"startIndex") +return A.xX(a,b,c,0)}, +aN(a,b){var s,r +if(typeof b=="string")return A.d(a.split(b),t.s) +else{if(b instanceof A.cx){s=b.gfp() +s.lastIndex=0 +r=s.exec("").length-2===0}else r=!1 +if(r)return A.d(a.split(b.b),t.s) +else return this.ih(a,b)}}, +aL(a,b,c,d){var s=A.ba(b,c,a.length) +return A.pE(a,b,s,d)}, +ih(a,b){var s,r,q,p,o,n,m=A.d([],t.s) +for(s=J.oE(b,a),s=s.gt(s),r=0,q=1;s.k();){p=s.gm() +o=p.gcq() +n=p.gbA() +q=n-o +if(q===0&&r===o)continue +m.push(this.n(a,r,o)) +r=n}if(r0)m.push(this.L(a,r)) +return m}, +E(a,b,c){var s +if(c<0||c>a.length)throw A.a(A.W(c,0,a.length,null,null)) +if(typeof b=="string"){s=c+b.length +if(s>a.length)return!1 +return b===a.substring(c,s)}return J.u2(b,a,c)!=null}, +u(a,b){return this.E(a,b,0)}, +n(a,b,c){return a.substring(b,A.ba(b,c,a.length))}, +L(a,b){return this.n(a,b,null)}, +eM(a){var s,r,q,p=a.trim(),o=p.length +if(o===0)return p +if(p.charCodeAt(0)===133){s=J.uC(p,1) +if(s===o)return""}else s=0 +r=o-1 +q=p.charCodeAt(r)===133?J.uD(p,r):o +if(s===0&&q===o)return p +return p.substring(s,q)}, +bJ(a,b){var s,r +if(0>=b)return"" +if(b===1||a.length===0)return a +if(b!==b>>>0)throw A.a(B.aB) +for(s=a,r="";!0;){if((b&1)===1)r=s+r +b=b>>>1 +if(b===0)break +s+=s}return r}, +kz(a,b,c){var s=b-a.length +if(s<=0)return a +return this.bJ(c,s)+a}, +hh(a,b){var s=b-a.length +if(s<=0)return a +return a+this.bJ(" ",s)}, +aV(a,b,c){var s +if(c<0||c>a.length)throw A.a(A.W(c,0,a.length,null,null)) +s=a.indexOf(b,c) +return s}, +kk(a,b){return this.aV(a,b,0)}, +hd(a,b,c){var s,r +if(c==null)c=a.length +else if(c<0||c>a.length)throw A.a(A.W(c,0,a.length,null,null)) +s=b.length +r=a.length +if(c+s>r)c=r-s +return a.lastIndexOf(b,c)}, +d2(a,b){return this.hd(a,b,null)}, +K(a,b){return A.xT(a,b,0)}, +ai(a,b){var s +if(a===b)s=0 +else s=a>6}r=r+((r&67108863)<<3)&536870911 +r^=r>>11 +return r+((r&16383)<<15)&536870911}, +gV(a){return A.bR(t.N)}, +gl(a){return a.length}, +i(a,b){if(!(b>=0&&b"))}, +gl(a){return J.ae(this.gao())}, +gF(a){return J.j_(this.gao())}, +Y(a,b){var s=A.t(this) +return A.ea(J.e4(this.gao(),b),s.c,s.y[1])}, +aj(a,b){var s=A.t(this) +return A.ea(J.j1(this.gao(),b),s.c,s.y[1])}, +M(a,b){return A.t(this).y[1].a(J.fH(this.gao(),b))}, +gG(a){return A.t(this).y[1].a(J.fI(this.gao()))}, +gC(a){return A.t(this).y[1].a(J.j0(this.gao()))}, +j(a){return J.aW(this.gao())}} +A.fT.prototype={ +k(){return this.a.k()}, +gm(){return this.$ti.y[1].a(this.a.gm())}} +A.cp.prototype={ +gao(){return this.a}} +A.f_.prototype={$iu:1} +A.eV.prototype={ +i(a,b){return this.$ti.y[1].a(J.aH(this.a,b))}, +q(a,b,c){J.pN(this.a,b,this.$ti.c.a(c))}, +co(a,b,c){var s=this.$ti +return A.ea(J.u1(this.a,b,c),s.c,s.y[1])}, +N(a,b,c,d,e){var s=this.$ti +J.u3(this.a,b,c,A.ea(d,s.y[1],s.c),e)}, +af(a,b,c,d){return this.N(0,b,c,d,0)}, +$iu:1, +$iq:1} +A.aj.prototype={ +by(a,b){return new A.aj(this.a,this.$ti.h("@<1>").H(b).h("aj<1,2>"))}, +gao(){return this.a}} +A.bZ.prototype={ +j(a){return"LateInitializationError: "+this.a}} +A.ec.prototype={ +gl(a){return this.a.length}, +i(a,b){return this.a.charCodeAt(b)}} +A.ot.prototype={ +$0(){return A.b8(null,t.H)}, +$S:2} +A.kL.prototype={} +A.u.prototype={} +A.Q.prototype={ +gt(a){var s=this +return new A.aZ(s,s.gl(s),A.t(s).h("aZ"))}, +gF(a){return this.gl(this)===0}, +gG(a){if(this.gl(this)===0)throw A.a(A.am()) +return this.M(0,0)}, +gC(a){var s=this +if(s.gl(s)===0)throw A.a(A.am()) +return s.M(0,s.gl(s)-1)}, +ar(a,b){var s,r,q,p=this,o=p.gl(p) +if(b.length!==0){if(o===0)return"" +s=A.v(p.M(0,0)) +if(o!==p.gl(p))throw A.a(A.az(p)) +for(r=s,q=1;q").H(c).h("E<1,2>"))}, +ki(a,b,c){var s,r,q=this,p=q.gl(q) +for(s=b,r=0;rs)throw A.a(A.W(r,0,s,"start",null))}}, +gip(){var s=J.ae(this.a),r=this.c +if(r==null||r>s)return s +return r}, +gjo(){var s=J.ae(this.a),r=this.b +if(r>s)return s +return r}, +gl(a){var s,r=J.ae(this.a),q=this.b +if(q>=r)return 0 +s=this.c +if(s==null||s>=r)return r-q +return s-q}, +M(a,b){var s=this,r=s.gjo()+b +if(b<0||r>=s.gip())throw A.a(A.hc(b,s.gl(0),s,null,"index")) +return J.fH(s.a,r)}, +Y(a,b){var s,r,q=this +A.ac(b,"count") +s=q.b+b +r=q.c +if(r!=null&&s>=r)return new A.cv(q.$ti.h("cv<1>")) +return A.b3(q.a,s,r,q.$ti.c)}, +aj(a,b){var s,r,q,p=this +A.ac(b,"count") +s=p.c +r=p.b +q=r+b +if(s==null)return A.b3(p.a,r,q,p.$ti.c) +else{if(s=o){r.d=null +return!1}r.d=p.M(q,s);++r.c +return!0}} +A.aB.prototype={ +gt(a){return new A.b0(J.M(this.a),this.b,A.t(this).h("b0<1,2>"))}, +gl(a){return J.ae(this.a)}, +gF(a){return J.j_(this.a)}, +gG(a){return this.b.$1(J.fI(this.a))}, +gC(a){return this.b.$1(J.j0(this.a))}, +M(a,b){return this.b.$1(J.fH(this.a,b))}} +A.cu.prototype={$iu:1} +A.b0.prototype={ +k(){var s=this,r=s.b +if(r.k()){s.a=s.c.$1(r.gm()) +return!0}s.a=null +return!1}, +gm(){var s=this.a +return s==null?this.$ti.y[1].a(s):s}} +A.E.prototype={ +gl(a){return J.ae(this.a)}, +M(a,b){return this.b.$1(J.fH(this.a,b))}} +A.aU.prototype={ +gt(a){return new A.eP(J.M(this.a),this.b)}, +bb(a,b,c){return new A.aB(this,b,this.$ti.h("@<1>").H(c).h("aB<1,2>"))}} +A.eP.prototype={ +k(){var s,r +for(s=this.a,r=this.b;s.k();)if(r.$1(s.gm()))return!0 +return!1}, +gm(){return this.a.gm()}} +A.ek.prototype={ +gt(a){return new A.h6(J.M(this.a),this.b,B.a1,this.$ti.h("h6<1,2>"))}} +A.h6.prototype={ +gm(){var s=this.d +return s==null?this.$ti.y[1].a(s):s}, +k(){var s,r,q=this,p=q.c +if(p==null)return!1 +for(s=q.a,r=q.b;!p.k();){q.d=null +if(s.k()){q.c=null +p=J.M(r.$1(s.gm())) +q.c=p}else return!1}q.d=q.c.gm() +return!0}} +A.cE.prototype={ +gt(a){return new A.hM(J.M(this.a),this.b,A.t(this).h("hM<1>"))}} +A.ei.prototype={ +gl(a){var s=J.ae(this.a),r=this.b +if(s>r)return r +return s}, +$iu:1} +A.hM.prototype={ +k(){if(--this.b>=0)return this.a.k() +this.b=-1 +return!1}, +gm(){if(this.b<0){this.$ti.c.a(null) +return null}return this.a.gm()}} +A.bD.prototype={ +Y(a,b){A.bU(b,"count") +A.ac(b,"count") +return new A.bD(this.a,this.b+b,A.t(this).h("bD<1>"))}, +gt(a){return new A.hG(J.M(this.a),this.b)}} +A.d1.prototype={ +gl(a){var s=J.ae(this.a)-this.b +if(s>=0)return s +return 0}, +Y(a,b){A.bU(b,"count") +A.ac(b,"count") +return new A.d1(this.a,this.b+b,this.$ti)}, +$iu:1} +A.hG.prototype={ +k(){var s,r +for(s=this.a,r=0;r"))}, +Y(a,b){A.ac(b,"count") +return this}, +aj(a,b){A.ac(b,"count") +return this}} +A.h3.prototype={ +k(){return!1}, +gm(){throw A.a(A.am())}} +A.eQ.prototype={ +gt(a){return new A.i3(J.M(this.a),this.$ti.h("i3<1>"))}} +A.i3.prototype={ +k(){var s,r +for(s=this.a,r=this.$ti.c;s.k();)if(r.b(s.gm()))return!0 +return!1}, +gm(){return this.$ti.c.a(this.a.gm())}} +A.bu.prototype={ +gl(a){return J.ae(this.a)}, +gF(a){return J.j_(this.a)}, +gG(a){return new A.ai(this.b,J.fI(this.a))}, +M(a,b){return new A.ai(b+this.b,J.fH(this.a,b))}, +aj(a,b){A.bU(b,"count") +A.ac(b,"count") +return new A.bu(J.j1(this.a,b),this.b,A.t(this).h("bu<1>"))}, +Y(a,b){A.bU(b,"count") +A.ac(b,"count") +return new A.bu(J.e4(this.a,b),b+this.b,A.t(this).h("bu<1>"))}, +gt(a){return new A.eo(J.M(this.a),this.b)}} +A.ct.prototype={ +gC(a){var s,r=this.a,q=J.Z(r),p=q.gl(r) +if(p<=0)throw A.a(A.am()) +s=q.gC(r) +if(p!==q.gl(r))throw A.a(A.az(this)) +return new A.ai(p-1+this.b,s)}, +aj(a,b){A.bU(b,"count") +A.ac(b,"count") +return new A.ct(J.j1(this.a,b),this.b,this.$ti)}, +Y(a,b){A.bU(b,"count") +A.ac(b,"count") +return new A.ct(J.e4(this.a,b),this.b+b,this.$ti)}, +$iu:1} +A.eo.prototype={ +k(){if(++this.c>=0&&this.a.k())return!0 +this.c=-2 +return!1}, +gm(){var s=this.c +return s>=0?new A.ai(this.b+s,this.a.gm()):A.B(A.am())}} +A.el.prototype={} +A.hQ.prototype={ +q(a,b,c){throw A.a(A.a4("Cannot modify an unmodifiable list"))}, +N(a,b,c,d,e){throw A.a(A.a4("Cannot modify an unmodifiable list"))}, +af(a,b,c,d){return this.N(0,b,c,d,0)}} +A.dn.prototype={} +A.eD.prototype={ +gl(a){return J.ae(this.a)}, +M(a,b){var s=this.a,r=J.Z(s) +return r.M(s,r.gl(s)-1-b)}} +A.hL.prototype={ +gB(a){var s=this._hashCode +if(s!=null)return s +s=664597*B.a.gB(this.a)&536870911 +this._hashCode=s +return s}, +j(a){return'Symbol("'+this.a+'")'}, +W(a,b){if(b==null)return!1 +return b instanceof A.hL&&this.a===b.a}} +A.fv.prototype={} +A.ai.prototype={$r:"+(1,2)",$s:1} +A.cN.prototype={$r:"+file,outFlags(1,2)",$s:2} +A.ed.prototype={ +j(a){return A.oS(this)}, +gel(){return new A.dP(this.jY(),A.t(this).h("dP>"))}, +jY(){var s=this +return function(){var r=0,q=1,p,o,n,m +return function $async$gel(a,b,c){if(b===1){p=c +r=q}while(true)switch(r){case 0:o=s.ga_(),o=o.gt(o),n=A.t(s).h("bx<1,2>") +case 2:if(!o.k()){r=3 +break}m=o.gm() +r=4 +return a.b=new A.bx(m,s.i(0,m),n),1 +case 4:r=2 +break +case 3:return 0 +case 1:return a.c=p,3}}}}, +$iab:1} +A.ee.prototype={ +gl(a){return this.b.length}, +gfl(){var s=this.$keys +if(s==null){s=Object.keys(this.a) +this.$keys=s}return s}, +a4(a){if(typeof a!="string")return!1 +if("__proto__"===a)return!1 +return this.a.hasOwnProperty(a)}, +i(a,b){if(!this.a4(b))return null +return this.b[this.a[b]]}, +aa(a,b){var s,r,q=this.gfl(),p=this.b +for(s=q.length,r=0;r"))}, +gaM(){return new A.cM(this.b,this.$ti.h("cM<2>"))}} +A.cM.prototype={ +gl(a){return this.a.length}, +gF(a){return 0===this.a.length}, +gt(a){var s=this.a +return new A.it(s,s.length,this.$ti.h("it<1>"))}} +A.it.prototype={ +gm(){var s=this.d +return s==null?this.$ti.c.a(s):s}, +k(){var s=this,r=s.c +if(r>=s.b){s.d=null +return!1}s.d=s.a[r] +s.c=r+1 +return!0}} +A.kb.prototype={ +W(a,b){if(b==null)return!1 +return b instanceof A.ep&&this.a.W(0,b.a)&&A.px(this)===A.px(b)}, +gB(a){return A.ez(this.a,A.px(this),B.f,B.f)}, +j(a){var s=B.c.ar([A.bR(this.$ti.c)],", ") +return this.a.j(0)+" with "+("<"+s+">")}} +A.ep.prototype={ +$2(a,b){return this.a.$1$2(a,b,this.$ti.y[0])}, +$4(a,b,c,d){return this.a.$1$4(a,b,c,d,this.$ti.y[0])}, +$S(){return A.xz(A.og(this.a),this.$ti)}} +A.lo.prototype={ +au(a){var s,r,q=this,p=new RegExp(q.a).exec(a) +if(p==null)return null +s=Object.create(null) +r=q.b +if(r!==-1)s.arguments=p[r+1] +r=q.c +if(r!==-1)s.argumentsExpr=p[r+1] +r=q.d +if(r!==-1)s.expr=p[r+1] +r=q.e +if(r!==-1)s.method=p[r+1] +r=q.f +if(r!==-1)s.receiver=p[r+1] +return s}} +A.ey.prototype={ +j(a){return"Null check operator used on a null value"}} +A.hj.prototype={ +j(a){var s,r=this,q="NoSuchMethodError: method not found: '",p=r.b +if(p==null)return"NoSuchMethodError: "+r.a +s=r.c +if(s==null)return q+p+"' ("+r.a+")" +return q+p+"' on '"+s+"' ("+r.a+")"}} +A.hP.prototype={ +j(a){var s=this.a +return s.length===0?"Error":"Error: "+s}} +A.hx.prototype={ +j(a){return"Throw of null ('"+(this.a===null?"null":"undefined")+"' from JavaScript)"}, +$ia7:1} +A.ej.prototype={} +A.fi.prototype={ +j(a){var s,r=this.b +if(r!=null)return r +r=this.a +s=r!==null&&typeof r==="object"?r.stack:null +return this.b=s==null?"":s}, +$ia0:1} +A.cq.prototype={ +j(a){var s=this.constructor,r=s==null?null:s.name +return"Closure '"+A.t8(r==null?"unknown":r)+"'"}, +gkV(){return this}, +$C:"$1", +$R:1, +$D:null} +A.jh.prototype={$C:"$0",$R:0} +A.ji.prototype={$C:"$2",$R:2} +A.le.prototype={} +A.l4.prototype={ +j(a){var s=this.$static_name +if(s==null)return"Closure of unknown static method" +return"Closure '"+A.t8(s)+"'"}} +A.e8.prototype={ +W(a,b){if(b==null)return!1 +if(this===b)return!0 +if(!(b instanceof A.e8))return!1 +return this.$_target===b.$_target&&this.a===b.a}, +gB(a){return(A.pB(this.a)^A.eC(this.$_target))>>>0}, +j(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.ky(this.a)+"'")}} +A.ie.prototype={ +j(a){return"Reading static variable '"+this.a+"' during its initialization"}} +A.hD.prototype={ +j(a){return"RuntimeError: "+this.a}} +A.bw.prototype={ +gl(a){return this.a}, +gF(a){return this.a===0}, +ga_(){return new A.b9(this,A.t(this).h("b9<1>"))}, +gaM(){var s=A.t(this) +return A.eu(new A.b9(this,s.h("b9<1>")),new A.kj(this),s.c,s.y[1])}, +a4(a){var s,r +if(typeof a=="string"){s=this.b +if(s==null)return!1 +return s[a]!=null}else if(typeof a=="number"&&(a&0x3fffffff)===a){r=this.c +if(r==null)return!1 +return r[a]!=null}else return this.kl(a)}, +kl(a){var s=this.d +if(s==null)return!1 +return this.d1(s[this.d0(a)],a)>=0}, +aH(a,b){b.aa(0,new A.ki(this))}, +i(a,b){var s,r,q,p,o=null +if(typeof b=="string"){s=this.b +if(s==null)return o +r=s[b] +q=r==null?o:r.b +return q}else if(typeof b=="number"&&(b&0x3fffffff)===b){p=this.c +if(p==null)return o +r=p[b] +q=r==null?o:r.b +return q}else return this.km(b)}, +km(a){var s,r,q=this.d +if(q==null)return null +s=q[this.d0(a)] +r=this.d1(s,a) +if(r<0)return null +return s[r].b}, +q(a,b,c){var s,r,q=this +if(typeof b=="string"){s=q.b +q.eY(s==null?q.b=q.dX():s,b,c)}else if(typeof b=="number"&&(b&0x3fffffff)===b){r=q.c +q.eY(r==null?q.c=q.dX():r,b,c)}else q.ko(b,c)}, +ko(a,b){var s,r,q,p=this,o=p.d +if(o==null)o=p.d=p.dX() +s=p.d0(a) +r=o[s] +if(r==null)o[s]=[p.dr(a,b)] +else{q=p.d1(r,a) +if(q>=0)r[q].b=b +else r.push(p.dr(a,b))}}, +hk(a,b){var s,r,q=this +if(q.a4(a)){s=q.i(0,a) +return s==null?A.t(q).y[1].a(s):s}r=b.$0() +q.q(0,a,r) +return r}, +A(a,b){var s=this +if(typeof b=="string")return s.eZ(s.b,b) +else if(typeof b=="number"&&(b&0x3fffffff)===b)return s.eZ(s.c,b) +else return s.kn(b)}, +kn(a){var s,r,q,p,o=this,n=o.d +if(n==null)return null +s=o.d0(a) +r=n[s] +q=o.d1(r,a) +if(q<0)return null +p=r.splice(q,1)[0] +o.f_(p) +if(r.length===0)delete n[s] +return p.b}, +c1(a){var s=this +if(s.a>0){s.b=s.c=s.d=s.e=s.f=null +s.a=0 +s.dq()}}, +aa(a,b){var s=this,r=s.e,q=s.r +for(;r!=null;){b.$2(r.a,r.b) +if(q!==s.r)throw A.a(A.az(s)) +r=r.c}}, +eY(a,b,c){var s=a[b] +if(s==null)a[b]=this.dr(b,c) +else s.b=c}, +eZ(a,b){var s +if(a==null)return null +s=a[b] +if(s==null)return null +this.f_(s) +delete a[b] +return s.b}, +dq(){this.r=this.r+1&1073741823}, +dr(a,b){var s,r=this,q=new A.km(a,b) +if(r.e==null)r.e=r.f=q +else{s=r.f +s.toString +q.d=s +r.f=s.c=q}++r.a +r.dq() +return q}, +f_(a){var s=this,r=a.d,q=a.c +if(r==null)s.e=q +else r.c=q +if(q==null)s.f=r +else q.d=r;--s.a +s.dq()}, +d0(a){return J.ay(a)&1073741823}, +d1(a,b){var s,r +if(a==null)return-1 +s=a.length +for(r=0;r"]=s +delete s[""] +return s}} +A.kj.prototype={ +$1(a){var s=this.a,r=s.i(0,a) +return r==null?A.t(s).y[1].a(r):r}, +$S(){return A.t(this.a).h("2(1)")}} +A.ki.prototype={ +$2(a,b){this.a.q(0,a,b)}, +$S(){return A.t(this.a).h("~(1,2)")}} +A.km.prototype={} +A.b9.prototype={ +gl(a){return this.a.a}, +gF(a){return this.a.a===0}, +gt(a){var s=this.a,r=new A.hm(s,s.r) +r.c=s.e +return r}} +A.hm.prototype={ +gm(){return this.d}, +k(){var s,r=this,q=r.a +if(r.b!==q.r)throw A.a(A.az(q)) +s=r.c +if(s==null){r.d=null +return!1}else{r.d=s.a +r.c=s.c +return!0}}} +A.on.prototype={ +$1(a){return this.a(a)}, +$S:90} +A.oo.prototype={ +$2(a,b){return this.a(a,b)}, +$S:53} +A.op.prototype={ +$1(a){return this.a(a)}, +$S:78} +A.fe.prototype={ +j(a){return this.fQ(!1)}, +fQ(a){var s,r,q,p,o,n=this.ir(),m=this.fi(),l=(a?""+"Record ":"")+"(" +for(s=n.length,r="",q=0;q0;){--q;--s +j[q]=r[s]}}return A.aJ(j,k)}} +A.iz.prototype={ +fi(){return[this.a,this.b]}, +W(a,b){if(b==null)return!1 +return b instanceof A.iz&&this.$s===b.$s&&J.a6(this.a,b.a)&&J.a6(this.b,b.b)}, +gB(a){return A.ez(this.$s,this.a,this.b,B.f)}} +A.cx.prototype={ +j(a){return"RegExp/"+this.a+"/"+this.b.flags}, +gfq(){var s=this,r=s.c +if(r!=null)return r +r=s.b +return s.c=A.oO(s.a,r.multiline,!r.ignoreCase,r.unicode,r.dotAll,!0)}, +gfp(){var s=this,r=s.d +if(r!=null)return r +r=s.b +return s.d=A.oO(s.a+"|()",r.multiline,!r.ignoreCase,r.unicode,r.dotAll,!0)}, +a9(a){var s=this.b.exec(a) +if(s==null)return null +return new A.dF(s)}, +cO(a,b,c){var s=b.length +if(c>s)throw A.a(A.W(c,0,s,null,null)) +return new A.i4(this,b,c)}, +ed(a,b){return this.cO(0,b,0)}, +fe(a,b){var s,r=this.gfq() +r.lastIndex=b +s=r.exec(a) +if(s==null)return null +return new A.dF(s)}, +iq(a,b){var s,r=this.gfp() +r.lastIndex=b +s=r.exec(a) +if(s==null)return null +if(s.pop()!=null)return null +return new A.dF(s)}, +he(a,b,c){if(c<0||c>b.length)throw A.a(A.W(c,0,b.length,null,null)) +return this.iq(b,c)}} +A.dF.prototype={ +gcq(){return this.b.index}, +gbA(){var s=this.b +return s.index+s[0].length}, +i(a,b){return this.b[b]}, +aK(a){var s,r=this.b.groups +if(r!=null){s=r[a] +if(s!=null||a in r)return s}throw A.a(A.af(a,"name","Not a capture group name"))}, +$iev:1, +$ihA:1} +A.i4.prototype={ +gt(a){return new A.m_(this.a,this.b,this.c)}} +A.m_.prototype={ +gm(){var s=this.d +return s==null?t.cz.a(s):s}, +k(){var s,r,q,p,o,n,m=this,l=m.b +if(l==null)return!1 +s=m.c +r=l.length +if(s<=r){q=m.a +p=q.fe(l,s) +if(p!=null){m.d=p +o=p.gbA() +if(p.b.index===o){s=!1 +if(q.b.unicode){q=m.c +n=q+1 +if(n=55296&&r<=56319){s=l.charCodeAt(n) +s=s>=56320&&s<=57343}}}o=(s?o+1:o)+1}m.c=o +return!0}}m.b=m.d=null +return!1}} +A.dm.prototype={ +gbA(){return this.a+this.c.length}, +i(a,b){if(b!==0)A.B(A.kD(b,null)) +return this.c}, +$iev:1, +gcq(){return this.a}} +A.iH.prototype={ +gt(a){return new A.nH(this.a,this.b,this.c)}, +gG(a){var s=this.b,r=this.a.indexOf(s,this.c) +if(r>=0)return new A.dm(r,s) +throw A.a(A.am())}} +A.nH.prototype={ +k(){var s,r,q=this,p=q.c,o=q.b,n=o.length,m=q.a,l=m.length +if(p+n>l){q.d=null +return!1}s=m.indexOf(o,p) +if(s<0){q.c=l+1 +q.d=null +return!1}r=s+n +q.d=new A.dm(s,o) +q.c=r===q.c?r+1:r +return!0}, +gm(){var s=this.d +s.toString +return s}} +A.mf.prototype={ +ah(){var s=this.b +if(s===this)throw A.a(A.uE(this.a)) +return s}} +A.d7.prototype={ +gV(a){return B.b9}, +fW(a,b,c){A.fw(a,b,c) +return c==null?new Uint8Array(a,b):new Uint8Array(a,b,c)}, +jK(a,b,c){var s +A.fw(a,b,c) +s=new DataView(a,b) +return s}, +fV(a){return this.jK(a,0,null)}, +$iL:1, +$id7:1, +$ifS:1} +A.ew.prototype={ +gaT(a){if(((a.$flags|0)&2)!==0)return new A.iO(a.buffer) +else return a.buffer}, +iD(a,b,c,d){var s=A.W(b,0,c,d,null) +throw A.a(s)}, +f6(a,b,c,d){if(b>>>0!==b||b>c)this.iD(a,b,c,d)}} +A.iO.prototype={ +fW(a,b,c){var s=A.bz(this.a,b,c) +s.$flags=3 +return s}, +fV(a){var s=A.qg(this.a,0,null) +s.$flags=3 +return s}, +$ifS:1} +A.cy.prototype={ +gV(a){return B.ba}, +$iL:1, +$icy:1, +$ioG:1} +A.d9.prototype={ +gl(a){return a.length}, +fI(a,b,c,d,e){var s,r,q=a.length +this.f6(a,b,q,"start") +this.f6(a,c,q,"end") +if(b>c)throw A.a(A.W(b,0,c,null,null)) +s=c-b +if(e<0)throw A.a(A.K(e,null)) +r=d.length +if(r-e0){s=Date.now()-r.c +if(s>(p+1)*o)p=B.b.eX(s,o)}q.c=p +r.d.$1(q)}, +$S:6} +A.i5.prototype={ +P(a){var s,r=this +if(a==null)a=r.$ti.c.a(a) +if(!r.b)r.a.b1(a) +else{s=r.a +if(r.$ti.h("D<1>").b(a))s.f5(a) +else s.bq(a)}}, +bz(a,b){var s=this.a +if(this.b)s.X(a,b) +else s.aO(a,b)}} +A.nX.prototype={ +$1(a){return this.a.$2(0,a)}, +$S:16} +A.nY.prototype={ +$2(a,b){this.a.$2(1,new A.ej(a,b))}, +$S:43} +A.oe.prototype={ +$2(a,b){this.a(a,b)}, +$S:49} +A.iI.prototype={ +gm(){return this.b}, +j6(a,b){var s,r,q +a=a +b=b +s=this.a +for(;!0;)try{r=s(this,a,b) +return r}catch(q){b=q +a=1}}, +k(){var s,r,q,p,o=this,n=null,m=0 +for(;!0;){s=o.d +if(s!=null)try{if(s.k()){o.b=s.gm() +return!0}else o.d=null}catch(r){n=r +m=1 +o.d=null}q=o.j6(m,n) +if(1===q)return!0 +if(0===q){o.b=null +p=o.e +if(p==null||p.length===0){o.a=A.r9 +return!1}o.a=p.pop() +m=0 +n=null +continue}if(2===q){m=0 +n=null +continue}if(3===q){n=o.c +o.c=null +p=o.e +if(p==null||p.length===0){o.b=null +o.a=A.r9 +throw n +return!1}o.a=p.pop() +m=1 +continue}throw A.a(A.C("sync*"))}return!1}, +kW(a){var s,r,q=this +if(a instanceof A.dP){s=a.a() +r=q.e +if(r==null)r=q.e=[] +r.push(q.a) +q.a=s +return 2}else{q.d=J.M(a) +return 2}}} +A.dP.prototype={ +gt(a){return new A.iI(this.a())}} +A.be.prototype={ +j(a){return A.v(this.a)}, +$iP:1, +gbl(){return this.b}} +A.eU.prototype={} +A.cH.prototype={ +am(){}, +an(){}} +A.cG.prototype={ +gbM(){return this.c<4}, +fC(a){var s=a.CW,r=a.ch +if(s==null)this.d=r +else s.ch=r +if(r==null)this.e=s +else r.CW=s +a.CW=a +a.ch=a}, +fK(a,b,c,d){var s,r,q,p,o,n,m,l,k,j=this +if((j.c&4)!==0){s=$.j +r=new A.eZ(s) +A.oy(r.gfs()) +if(c!=null)r.c=s.av(c,t.H) +return r}s=A.t(j) +r=$.j +q=d?1:0 +p=b!=null?32:0 +o=A.ib(r,a,s.c) +n=A.ic(r,b) +m=c==null?A.rR():c +l=new A.cH(j,o,n,r.av(m,t.H),r,q|p,s.h("cH<1>")) +l.CW=l +l.ch=l +l.ay=j.c&1 +k=j.e +j.e=l +l.ch=null +l.CW=k +if(k==null)j.d=l +else k.ch=l +if(j.d===l)A.iV(j.a) +return l}, +fu(a){var s,r=this +A.t(r).h("cH<1>").a(a) +if(a.ch===a)return null +s=a.ay +if((s&2)!==0)a.ay=s|4 +else{r.fC(a) +if((r.c&2)===0&&r.d==null)r.dv()}return null}, +fv(a){}, +fw(a){}, +bK(){if((this.c&4)!==0)return new A.b2("Cannot add new events after calling close") +return new A.b2("Cannot add new events while doing an addStream")}, +v(a,b){if(!this.gbM())throw A.a(this.bK()) +this.b3(b)}, +a3(a,b){var s +if(!this.gbM())throw A.a(this.bK()) +s=A.o6(a,b) +this.b5(s.a,s.b)}, +p(){var s,r,q=this +if((q.c&4)!==0){s=q.r +s.toString +return s}if(!q.gbM())throw A.a(q.bK()) +q.c|=4 +r=q.r +if(r==null)r=q.r=new A.k($.j,t.D) +q.b4() +return r}, +dL(a){var s,r,q,p=this,o=p.c +if((o&2)!==0)throw A.a(A.C(u.o)) +s=p.d +if(s==null)return +r=o&1 +p.c=o^3 +for(;s!=null;){o=s.ay +if((o&1)===r){s.ay=o|2 +a.$1(s) +o=s.ay^=1 +q=s.ch +if((o&4)!==0)p.fC(s) +s.ay&=4294967293 +s=q}else s=s.ch}p.c&=4294967293 +if(p.d==null)p.dv()}, +dv(){if((this.c&4)!==0){var s=this.r +if((s.a&30)===0)s.b1(null)}A.iV(this.b)}, +$iag:1} +A.fl.prototype={ +gbM(){return A.cG.prototype.gbM.call(this)&&(this.c&2)===0}, +bK(){if((this.c&2)!==0)return new A.b2(u.o) +return this.hP()}, +b3(a){var s=this,r=s.d +if(r==null)return +if(r===s.e){s.c|=2 +r.bp(a) +s.c&=4294967293 +if(s.d==null)s.dv() +return}s.dL(new A.nI(s,a))}, +b5(a,b){if(this.d==null)return +this.dL(new A.nK(this,a,b))}, +b4(){var s=this +if(s.d!=null)s.dL(new A.nJ(s)) +else s.r.b1(null)}} +A.nI.prototype={ +$1(a){a.bp(this.b)}, +$S(){return this.a.$ti.h("~(ah<1>)")}} +A.nK.prototype={ +$1(a){a.bn(this.b,this.c)}, +$S(){return this.a.$ti.h("~(ah<1>)")}} +A.nJ.prototype={ +$1(a){a.cv()}, +$S(){return this.a.$ti.h("~(ah<1>)")}} +A.k4.prototype={ +$0(){var s,r,q,p=null +try{p=this.a.$0()}catch(q){s=A.F(q) +r=A.S(q) +A.pl(this.b,s,r) +return}this.b.b2(p)}, +$S:0} +A.k2.prototype={ +$0(){this.c.a(null) +this.b.b2(null)}, +$S:0} +A.k6.prototype={ +$2(a,b){var s=this,r=s.a,q=--r.b +if(r.a!=null){r.a=null +r.d=a +r.c=b +if(q===0||s.c)s.d.X(a,b)}else if(q===0&&!s.c){q=r.d +q.toString +r=r.c +r.toString +s.d.X(q,r)}}, +$S:7} +A.k5.prototype={ +$1(a){var s,r,q,p,o,n,m=this,l=m.a,k=--l.b,j=l.a +if(j!=null){J.pN(j,m.b,a) +if(J.a6(k,0)){l=m.d +s=A.d([],l.h("w<0>")) +for(q=j,p=q.length,o=0;o")) +r=b==null?1:3 +this.ct(new A.ch(s,r,a,b,this.$ti.h("@<1>").H(c).h("ch<1,2>"))) +return s}, +bH(a,b){return this.bI(a,null,b)}, +fO(a,b,c){var s=new A.k($.j,c.h("k<0>")) +this.ct(new A.ch(s,19,a,b,this.$ti.h("@<1>").H(c).h("ch<1,2>"))) +return s}, +ak(a){var s=this.$ti,r=$.j,q=new A.k(r,s) +if(r!==B.d)a=r.av(a,t.z) +this.ct(new A.ch(q,8,a,null,s.h("ch<1,1>"))) +return q}, +jh(a){this.a=this.a&1|16 +this.c=a}, +cu(a){this.a=a.a&30|this.a&1 +this.c=a.c}, +ct(a){var s=this,r=s.a +if(r<=3){a.a=s.c +s.c=a}else{if((r&4)!==0){r=s.c +if((r.a&24)===0){r.ct(a) +return}s.cu(r)}s.b.aZ(new A.mv(s,a))}}, +dZ(a){var s,r,q,p,o,n=this,m={} +m.a=a +if(a==null)return +s=n.a +if(s<=3){r=n.c +n.c=a +if(r!=null){q=a.a +for(p=a;q!=null;p=q,q=o)o=q.a +p.a=r}}else{if((s&4)!==0){s=n.c +if((s.a&24)===0){s.dZ(a) +return}n.cu(s)}m.a=n.cF(a) +n.b.aZ(new A.mC(m,n))}}, +cE(){var s=this.c +this.c=null +return this.cF(s)}, +cF(a){var s,r,q +for(s=a,r=null;s!=null;r=s,s=q){q=s.a +s.a=r}return r}, +f4(a){var s,r,q,p=this +p.a^=2 +try{a.bI(new A.mz(p),new A.mA(p),t.P)}catch(q){s=A.F(q) +r=A.S(q) +A.oy(new A.mB(p,s,r))}}, +b2(a){var s,r=this,q=r.$ti +if(q.h("D<1>").b(a))if(q.b(a))A.pa(a,r) +else r.f4(a) +else{s=r.cE() +r.a=8 +r.c=a +A.dA(r,s)}}, +bq(a){var s=this,r=s.cE() +s.a=8 +s.c=a +A.dA(s,r)}, +X(a,b){var s=this.cE() +this.jh(new A.be(a,b)) +A.dA(this,s)}, +b1(a){if(this.$ti.h("D<1>").b(a)){this.f5(a) +return}this.f3(a)}, +f3(a){this.a^=2 +this.b.aZ(new A.mx(this,a))}, +f5(a){if(this.$ti.b(a)){A.vo(a,this) +return}this.f4(a)}, +aO(a,b){this.a^=2 +this.b.aZ(new A.mw(this,a,b))}, +$iD:1} +A.mv.prototype={ +$0(){A.dA(this.a,this.b)}, +$S:0} +A.mC.prototype={ +$0(){A.dA(this.b,this.a.a)}, +$S:0} +A.mz.prototype={ +$1(a){var s,r,q,p=this.a +p.a^=2 +try{p.bq(p.$ti.c.a(a))}catch(q){s=A.F(q) +r=A.S(q) +p.X(s,r)}}, +$S:36} +A.mA.prototype={ +$2(a,b){this.a.X(a,b)}, +$S:75} +A.mB.prototype={ +$0(){this.a.X(this.b,this.c)}, +$S:0} +A.my.prototype={ +$0(){A.pa(this.a.a,this.b)}, +$S:0} +A.mx.prototype={ +$0(){this.a.bq(this.b)}, +$S:0} +A.mw.prototype={ +$0(){this.a.X(this.b,this.c)}, +$S:0} +A.mF.prototype={ +$0(){var s,r,q,p,o,n,m,l=this,k=null +try{q=l.a.a +k=q.b.b.be(q.d,t.z)}catch(p){s=A.F(p) +r=A.S(p) +if(l.c&&l.b.a.c.a===s){q=l.a +q.c=l.b.a.c}else{q=s +o=r +if(o==null)o=A.oF(q) +n=l.a +n.c=new A.be(q,o) +q=n}q.b=!0 +return}if(k instanceof A.k&&(k.a&24)!==0){if((k.a&16)!==0){q=l.a +q.c=k.c +q.b=!0}return}if(k instanceof A.k){m=l.b.a +q=l.a +q.c=k.bH(new A.mG(m),t.z) +q.b=!1}}, +$S:0} +A.mG.prototype={ +$1(a){return this.a}, +$S:77} +A.mE.prototype={ +$0(){var s,r,q,p,o,n +try{q=this.a +p=q.a +o=p.$ti +q.c=p.b.b.bf(p.d,this.b,o.h("2/"),o.c)}catch(n){s=A.F(n) +r=A.S(n) +q=s +p=r +if(p==null)p=A.oF(q) +o=this.a +o.c=new A.be(q,p) +o.b=!0}}, +$S:0} +A.mD.prototype={ +$0(){var s,r,q,p,o,n,m,l=this +try{s=l.a.a.c +p=l.b +if(p.a.kt(s)&&p.a.e!=null){p.c=p.a.kj(s) +p.b=!1}}catch(o){r=A.F(o) +q=A.S(o) +p=l.a.a.c +if(p.a===r){n=l.b +n.c=p +p=n}else{p=r +n=q +if(n==null)n=A.oF(p) +m=l.b +m.c=new A.be(p,n) +p=m}p.b=!0}}, +$S:0} +A.i6.prototype={} +A.X.prototype={ +gl(a){var s={},r=new A.k($.j,t.gR) +s.a=0 +this.R(new A.lb(s,this),!0,new A.lc(s,r),r.gdC()) +return r}, +gG(a){var s=new A.k($.j,A.t(this).h("k")),r=this.R(null,!0,new A.l9(s),s.gdC()) +r.c9(new A.la(this,r,s)) +return s}, +kh(a,b){var s=new A.k($.j,A.t(this).h("k")),r=this.R(null,!0,new A.l7(null,s),s.gdC()) +r.c9(new A.l8(this,b,r,s)) +return s}} +A.lb.prototype={ +$1(a){++this.a.a}, +$S(){return A.t(this.b).h("~(X.T)")}} +A.lc.prototype={ +$0(){this.b.b2(this.a.a)}, +$S:0} +A.l9.prototype={ +$0(){var s,r,q,p +try{q=A.am() +throw A.a(q)}catch(p){s=A.F(p) +r=A.S(p) +A.pl(this.a,s,r)}}, +$S:0} +A.la.prototype={ +$1(a){A.ru(this.b,this.c,a)}, +$S(){return A.t(this.a).h("~(X.T)")}} +A.l7.prototype={ +$0(){var s,r,q,p +try{q=A.am() +throw A.a(q)}catch(p){s=A.F(p) +r=A.S(p) +A.pl(this.b,s,r)}}, +$S:0} +A.l8.prototype={ +$1(a){var s=this.c,r=this.d +A.wM(new A.l5(this.b,a),new A.l6(s,r,a),A.w7(s,r))}, +$S(){return A.t(this.a).h("~(X.T)")}} +A.l5.prototype={ +$0(){return this.a.$1(this.b)}, +$S:35} +A.l6.prototype={ +$1(a){if(a)A.ru(this.a,this.b,this.c)}, +$S:82} +A.hK.prototype={} +A.cO.prototype={ +giV(){if((this.b&8)===0)return this.a +return this.a.ge8()}, +dI(){var s,r=this +if((r.b&8)===0){s=r.a +return s==null?r.a=new A.fd():s}s=r.a.ge8() +return s}, +gaR(){var s=this.a +return(this.b&8)!==0?s.ge8():s}, +dt(){if((this.b&4)!==0)return new A.b2("Cannot add event after closing") +return new A.b2("Cannot add event while adding a stream")}, +fc(){var s=this.c +if(s==null)s=this.c=(this.b&2)!==0?$.cn():new A.k($.j,t.D) +return s}, +v(a,b){var s=this,r=s.b +if(r>=4)throw A.a(s.dt()) +if((r&1)!==0)s.b3(b) +else if((r&3)===0)s.dI().v(0,new A.dw(b))}, +a3(a,b){var s,r,q=this +if(q.b>=4)throw A.a(q.dt()) +s=A.o6(a,b) +a=s.a +b=s.b +r=q.b +if((r&1)!==0)q.b5(a,b) +else if((r&3)===0)q.dI().v(0,new A.eY(a,b))}, +jI(a){return this.a3(a,null)}, +p(){var s=this,r=s.b +if((r&4)!==0)return s.fc() +if(r>=4)throw A.a(s.dt()) +r=s.b=r|4 +if((r&1)!==0)s.b4() +else if((r&3)===0)s.dI().v(0,B.z) +return s.fc()}, +fK(a,b,c,d){var s,r,q,p,o=this +if((o.b&3)!==0)throw A.a(A.C("Stream has already been listened to.")) +s=A.vm(o,a,b,c,d,A.t(o).c) +r=o.giV() +q=o.b|=1 +if((q&8)!==0){p=o.a +p.se8(s) +p.bd()}else o.a=s +s.ji(r) +s.dM(new A.nF(o)) +return s}, +fu(a){var s,r,q,p,o,n,m,l=this,k=null +if((l.b&8)!==0)k=l.a.J() +l.a=null +l.b=l.b&4294967286|2 +s=l.r +if(s!=null)if(k==null)try{r=s.$0() +if(r instanceof A.k)k=r}catch(o){q=A.F(o) +p=A.S(o) +n=new A.k($.j,t.D) +n.aO(q,p) +k=n}else k=k.ak(s) +m=new A.nE(l) +if(k!=null)k=k.ak(m) +else m.$0() +return k}, +fv(a){if((this.b&8)!==0)this.a.bD() +A.iV(this.e)}, +fw(a){if((this.b&8)!==0)this.a.bd() +A.iV(this.f)}, +$iag:1} +A.nF.prototype={ +$0(){A.iV(this.a.d)}, +$S:0} +A.nE.prototype={ +$0(){var s=this.a.c +if(s!=null&&(s.a&30)===0)s.b1(null)}, +$S:0} +A.iJ.prototype={ +b3(a){this.gaR().bp(a)}, +b5(a,b){this.gaR().bn(a,b)}, +b4(){this.gaR().cv()}} +A.i7.prototype={ +b3(a){this.gaR().bo(new A.dw(a))}, +b5(a,b){this.gaR().bo(new A.eY(a,b))}, +b4(){this.gaR().bo(B.z)}} +A.du.prototype={} +A.dQ.prototype={} +A.ap.prototype={ +gB(a){return(A.eC(this.a)^892482866)>>>0}, +W(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.ap&&b.a===this.a}} +A.cg.prototype={ +cB(){return this.w.fu(this)}, +am(){this.w.fv(this)}, +an(){this.w.fw(this)}} +A.dN.prototype={ +v(a,b){this.a.v(0,b)}, +a3(a,b){this.a.a3(a,b)}, +p(){return this.a.p()}, +$iag:1} +A.ah.prototype={ +ji(a){var s=this +if(a==null)return +s.r=a +if(a.c!=null){s.e=(s.e|128)>>>0 +a.cp(s)}}, +c9(a){this.a=A.ib(this.d,a,A.t(this).h("ah.T"))}, +eF(a){var s=this +s.e=(s.e&4294967263)>>>0 +s.b=A.ic(s.d,a)}, +bD(){var s,r,q=this,p=q.e +if((p&8)!==0)return +s=(p+256|4)>>>0 +q.e=s +if(p<256){r=q.r +if(r!=null)if(r.a===1)r.a=3}if((p&4)===0&&(s&64)===0)q.dM(q.gbN())}, +bd(){var s=this,r=s.e +if((r&8)!==0)return +if(r>=256){r=s.e=r-256 +if(r<256)if((r&128)!==0&&s.r.c!=null)s.r.cp(s) +else{r=(r&4294967291)>>>0 +s.e=r +if((r&64)===0)s.dM(s.gbO())}}}, +J(){var s=this,r=(s.e&4294967279)>>>0 +s.e=r +if((r&8)===0)s.dw() +r=s.f +return r==null?$.cn():r}, +dw(){var s,r=this,q=r.e=(r.e|8)>>>0 +if((q&128)!==0){s=r.r +if(s.a===1)s.a=3}if((q&64)===0)r.r=null +r.f=r.cB()}, +bp(a){var s=this.e +if((s&8)!==0)return +if(s<64)this.b3(a) +else this.bo(new A.dw(a))}, +bn(a,b){var s +if(t.C.b(a))A.kz(a,b) +s=this.e +if((s&8)!==0)return +if(s<64)this.b5(a,b) +else this.bo(new A.eY(a,b))}, +cv(){var s=this,r=s.e +if((r&8)!==0)return +r=(r|2)>>>0 +s.e=r +if(r<64)s.b4() +else s.bo(B.z)}, +am(){}, +an(){}, +cB(){return null}, +bo(a){var s,r=this,q=r.r +if(q==null)q=r.r=new A.fd() +q.v(0,a) +s=r.e +if((s&128)===0){s=(s|128)>>>0 +r.e=s +if(s<256)q.cp(r)}}, +b3(a){var s=this,r=s.e +s.e=(r|64)>>>0 +s.d.ci(s.a,a,A.t(s).h("ah.T")) +s.e=(s.e&4294967231)>>>0 +s.dz((r&4)!==0)}, +b5(a,b){var s,r=this,q=r.e,p=new A.me(r,a,b) +if((q&1)!==0){r.e=(q|16)>>>0 +r.dw() +s=r.f +if(s!=null&&s!==$.cn())s.ak(p) +else p.$0()}else{p.$0() +r.dz((q&4)!==0)}}, +b4(){var s,r=this,q=new A.md(r) +r.dw() +r.e=(r.e|16)>>>0 +s=r.f +if(s!=null&&s!==$.cn())s.ak(q) +else q.$0()}, +dM(a){var s=this,r=s.e +s.e=(r|64)>>>0 +a.$0() +s.e=(s.e&4294967231)>>>0 +s.dz((r&4)!==0)}, +dz(a){var s,r,q=this,p=q.e +if((p&128)!==0&&q.r.c==null){p=q.e=(p&4294967167)>>>0 +s=!1 +if((p&4)!==0)if(p<256){s=q.r +s=s==null?null:s.c==null +s=s!==!1}if(s){p=(p&4294967291)>>>0 +q.e=p}}for(;!0;a=r){if((p&8)!==0){q.r=null +return}r=(p&4)!==0 +if(a===r)break +q.e=(p^64)>>>0 +if(r)q.am() +else q.an() +p=(q.e&4294967231)>>>0 +q.e=p}if((p&128)!==0&&p<256)q.r.cp(q)}} +A.me.prototype={ +$0(){var s,r,q,p=this.a,o=p.e +if((o&8)!==0&&(o&16)===0)return +p.e=(o|64)>>>0 +s=p.b +o=this.b +r=t.K +q=p.d +if(t.da.b(s))q.hr(s,o,this.c,r,t.l) +else q.ci(s,o,r) +p.e=(p.e&4294967231)>>>0}, +$S:0} +A.md.prototype={ +$0(){var s=this.a,r=s.e +if((r&16)===0)return +s.e=(r|74)>>>0 +s.d.cg(s.c) +s.e=(s.e&4294967231)>>>0}, +$S:0} +A.dL.prototype={ +R(a,b,c,d){return this.a.fK(a,d,c,b===!0)}, +aW(a,b,c){return this.R(a,null,b,c)}, +ks(a){return this.R(a,null,null,null)}, +eB(a,b){return this.R(a,null,b,null)}} +A.ih.prototype={ +gc8(){return this.a}, +sc8(a){return this.a=a}} +A.dw.prototype={ +eH(a){a.b3(this.b)}} +A.eY.prototype={ +eH(a){a.b5(this.b,this.c)}} +A.mo.prototype={ +eH(a){a.b4()}, +gc8(){return null}, +sc8(a){throw A.a(A.C("No events after a done."))}} +A.fd.prototype={ +cp(a){var s=this,r=s.a +if(r===1)return +if(r>=1){s.a=1 +return}A.oy(new A.nu(s,a)) +s.a=1}, +v(a,b){var s=this,r=s.c +if(r==null)s.b=s.c=b +else{r.sc8(b) +s.c=b}}} +A.nu.prototype={ +$0(){var s,r,q=this.a,p=q.a +q.a=0 +if(p===3)return +s=q.b +r=s.gc8() +q.b=r +if(r==null)q.c=null +s.eH(this.b)}, +$S:0} +A.eZ.prototype={ +c9(a){}, +eF(a){}, +bD(){var s=this.a +if(s>=0)this.a=s+2}, +bd(){var s=this,r=s.a-2 +if(r<0)return +if(r===0){s.a=1 +A.oy(s.gfs())}else s.a=r}, +J(){this.a=-1 +this.c=null +return $.cn()}, +iR(){var s,r=this,q=r.a-1 +if(q===0){r.a=-1 +s=r.c +if(s!=null){r.c=null +r.b.cg(s)}}else r.a=q}} +A.dM.prototype={ +gm(){if(this.c)return this.b +return null}, +k(){var s,r=this,q=r.a +if(q!=null){if(r.c){s=new A.k($.j,t.k) +r.b=s +r.c=!1 +q.bd() +return s}throw A.a(A.C("Already waiting for next."))}return r.iC()}, +iC(){var s,r,q=this,p=q.b +if(p!=null){s=new A.k($.j,t.k) +q.b=s +r=p.R(q.giL(),!0,q.giN(),q.giP()) +if(q.b!=null)q.a=r +return s}return $.tc()}, +J(){var s=this,r=s.a,q=s.b +s.b=null +if(r!=null){s.a=null +if(!s.c)q.b1(!1) +else s.c=!1 +return r.J()}return $.cn()}, +iM(a){var s,r,q=this +if(q.a==null)return +s=q.b +q.b=a +q.c=!0 +s.b2(!0) +if(q.c){r=q.a +if(r!=null)r.bD()}}, +iQ(a,b){var s=this,r=s.a,q=s.b +s.b=s.a=null +if(r!=null)q.X(a,b) +else q.aO(a,b)}, +iO(){var s=this,r=s.a,q=s.b +s.b=s.a=null +if(r!=null)q.bq(!1) +else q.f3(!1)}} +A.o_.prototype={ +$0(){return this.a.X(this.b,this.c)}, +$S:0} +A.nZ.prototype={ +$2(a,b){A.w6(this.a,this.b,a,b)}, +$S:7} +A.o0.prototype={ +$0(){return this.a.b2(this.b)}, +$S:0} +A.f3.prototype={ +R(a,b,c,d){var s=this.$ti,r=$.j,q=b===!0?1:0,p=d!=null?32:0,o=A.ib(r,a,s.y[1]),n=A.ic(r,d) +s=new A.dy(this,o,n,r.av(c,t.H),r,q|p,s.h("dy<1,2>")) +s.x=this.a.aW(s.gdN(),s.gdP(),s.gdR()) +return s}, +aW(a,b,c){return this.R(a,null,b,c)}} +A.dy.prototype={ +bp(a){if((this.e&2)!==0)return +this.dn(a)}, +bn(a,b){if((this.e&2)!==0)return +this.bm(a,b)}, +am(){var s=this.x +if(s!=null)s.bD()}, +an(){var s=this.x +if(s!=null)s.bd()}, +cB(){var s=this.x +if(s!=null){this.x=null +return s.J()}return null}, +dO(a){this.w.iw(a,this)}, +dS(a,b){this.bn(a,b)}, +dQ(){this.cv()}} +A.f8.prototype={ +iw(a,b){var s,r,q,p,o,n,m=null +try{m=this.b.$1(a)}catch(q){s=A.F(q) +r=A.S(q) +p=s +o=r +n=A.iT(p,o) +if(n!=null){p=n.a +o=n.b}b.bn(p,o) +return}b.bp(m)}} +A.f0.prototype={ +v(a,b){var s=this.a +if((s.e&2)!==0)A.B(A.C("Stream is already closed")) +s.dn(b)}, +a3(a,b){var s=this.a +if((s.e&2)!==0)A.B(A.C("Stream is already closed")) +s.bm(a,b)}, +p(){var s=this.a +if((s.e&2)!==0)A.B(A.C("Stream is already closed")) +s.eW()}, +$iag:1} +A.dJ.prototype={ +am(){var s=this.x +if(s!=null)s.bD()}, +an(){var s=this.x +if(s!=null)s.bd()}, +cB(){var s=this.x +if(s!=null){this.x=null +return s.J()}return null}, +dO(a){var s,r,q,p +try{q=this.w +q===$&&A.H() +q.v(0,a)}catch(p){s=A.F(p) +r=A.S(p) +if((this.e&2)!==0)A.B(A.C("Stream is already closed")) +this.bm(s,r)}}, +dS(a,b){var s,r,q,p,o=this,n="Stream is already closed" +try{q=o.w +q===$&&A.H() +q.a3(a,b)}catch(p){s=A.F(p) +r=A.S(p) +if(s===a){if((o.e&2)!==0)A.B(A.C(n)) +o.bm(a,b)}else{if((o.e&2)!==0)A.B(A.C(n)) +o.bm(s,r)}}}, +dQ(){var s,r,q,p,o=this +try{o.x=null +q=o.w +q===$&&A.H() +q.p()}catch(p){s=A.F(p) +r=A.S(p) +if((o.e&2)!==0)A.B(A.C("Stream is already closed")) +o.bm(s,r)}}} +A.fk.prototype={ +ee(a){return new A.eT(this.a,a,this.$ti.h("eT<1,2>"))}} +A.eT.prototype={ +R(a,b,c,d){var s=this.$ti,r=$.j,q=b===!0?1:0,p=d!=null?32:0,o=A.ib(r,a,s.y[1]),n=A.ic(r,d),m=new A.dJ(o,n,r.av(c,t.H),r,q|p,s.h("dJ<1,2>")) +m.w=this.a.$1(new A.f0(m)) +m.x=this.b.aW(m.gdN(),m.gdP(),m.gdR()) +return m}, +aW(a,b,c){return this.R(a,null,b,c)}} +A.dB.prototype={ +v(a,b){var s,r=this.d +if(r==null)throw A.a(A.C("Sink is closed")) +this.$ti.y[1].a(b) +s=r.a +if((s.e&2)!==0)A.B(A.C("Stream is already closed")) +s.dn(b)}, +a3(a,b){var s=this.d +if(s==null)throw A.a(A.C("Sink is closed")) +s.a3(a,b)}, +p(){var s=this.d +if(s==null)return +this.d=null +this.c.$1(s)}, +$iag:1} +A.dK.prototype={ +ee(a){return this.hQ(a)}} +A.nG.prototype={ +$1(a){var s=this +return new A.dB(s.a,s.b,s.c,a,s.e.h("@<0>").H(s.d).h("dB<1,2>"))}, +$S(){return this.e.h("@<0>").H(this.d).h("dB<1,2>(ag<2>)")}} +A.au.prototype={} +A.iQ.prototype={$ip3:1} +A.dS.prototype={$iY:1} +A.iP.prototype={ +bP(a,b,c){var s,r,q,p,o,n,m,l,k=this.gdT(),j=k.a +if(j===B.d){A.fz(b,c) +return}s=k.b +r=j.ga1() +m=j.ghi() +m.toString +q=m +p=$.j +try{$.j=q +s.$5(j,r,a,b,c) +$.j=p}catch(l){o=A.F(l) +n=A.S(l) +$.j=p +m=b===o?c:n +q.bP(j,o,m)}}, +$iy:1} +A.id.prototype={ +gf2(){var s=this.at +return s==null?this.at=new A.dS(this):s}, +ga1(){return this.ax.gf2()}, +gb9(){return this.as.a}, +cg(a){var s,r,q +try{this.be(a,t.H)}catch(q){s=A.F(q) +r=A.S(q) +this.bP(this,s,r)}}, +ci(a,b,c){var s,r,q +try{this.bf(a,b,t.H,c)}catch(q){s=A.F(q) +r=A.S(q) +this.bP(this,s,r)}}, +hr(a,b,c,d,e){var s,r,q +try{this.eK(a,b,c,t.H,d,e)}catch(q){s=A.F(q) +r=A.S(q) +this.bP(this,s,r)}}, +ef(a,b){return new A.ml(this,this.av(a,b),b)}, +fX(a,b,c){return new A.mn(this,this.bc(a,b,c),c,b)}, +cS(a){return new A.mk(this,this.av(a,t.H))}, +eg(a,b){return new A.mm(this,this.bc(a,t.H,b),b)}, +i(a,b){var s,r=this.ay,q=r.i(0,b) +if(q!=null||r.a4(b))return q +s=this.ax.i(0,b) +if(s!=null)r.q(0,b,s) +return s}, +c4(a,b){this.bP(this,a,b)}, +h8(a,b){var s=this.Q,r=s.a +return s.b.$5(r,r.ga1(),this,a,b)}, +be(a){var s=this.a,r=s.a +return s.b.$4(r,r.ga1(),this,a)}, +bf(a,b){var s=this.b,r=s.a +return s.b.$5(r,r.ga1(),this,a,b)}, +eK(a,b,c){var s=this.c,r=s.a +return s.b.$6(r,r.ga1(),this,a,b,c)}, +av(a){var s=this.d,r=s.a +return s.b.$4(r,r.ga1(),this,a)}, +bc(a){var s=this.e,r=s.a +return s.b.$4(r,r.ga1(),this,a)}, +d7(a){var s=this.f,r=s.a +return s.b.$4(r,r.ga1(),this,a)}, +h4(a,b){var s=this.r,r=s.a +if(r===B.d)return null +return s.b.$5(r,r.ga1(),this,a,b)}, +aZ(a){var s=this.w,r=s.a +return s.b.$4(r,r.ga1(),this,a)}, +ei(a,b){var s=this.x,r=s.a +return s.b.$5(r,r.ga1(),this,a,b)}, +hj(a){var s=this.z,r=s.a +return s.b.$4(r,r.ga1(),this,a)}, +gfE(){return this.a}, +gfG(){return this.b}, +gfF(){return this.c}, +gfA(){return this.d}, +gfB(){return this.e}, +gfz(){return this.f}, +gfd(){return this.r}, +ge3(){return this.w}, +gf9(){return this.x}, +gf8(){return this.y}, +gft(){return this.z}, +gfg(){return this.Q}, +gdT(){return this.as}, +ghi(){return this.ax}, +gfm(){return this.ay}} +A.ml.prototype={ +$0(){return this.a.be(this.b,this.c)}, +$S(){return this.c.h("0()")}} +A.mn.prototype={ +$1(a){var s=this +return s.a.bf(s.b,a,s.d,s.c)}, +$S(){return this.d.h("@<0>").H(this.c).h("1(2)")}} +A.mk.prototype={ +$0(){return this.a.cg(this.b)}, +$S:0} +A.mm.prototype={ +$1(a){return this.a.ci(this.b,a,this.c)}, +$S(){return this.c.h("~(0)")}} +A.o7.prototype={ +$0(){A.q2(this.a,this.b)}, +$S:0} +A.iD.prototype={ +gfE(){return B.bD}, +gfG(){return B.bF}, +gfF(){return B.bE}, +gfA(){return B.bC}, +gfB(){return B.bx}, +gfz(){return B.bI}, +gfd(){return B.bz}, +ge3(){return B.bG}, +gf9(){return B.by}, +gf8(){return B.bH}, +gft(){return B.bB}, +gfg(){return B.bA}, +gdT(){return B.bw}, +ghi(){return null}, +gfm(){return $.tu()}, +gf2(){var s=$.nx +return s==null?$.nx=new A.dS(this):s}, +ga1(){var s=$.nx +return s==null?$.nx=new A.dS(this):s}, +gb9(){return this}, +cg(a){var s,r,q +try{if(B.d===$.j){a.$0() +return}A.o8(null,null,this,a)}catch(q){s=A.F(q) +r=A.S(q) +A.fz(s,r)}}, +ci(a,b){var s,r,q +try{if(B.d===$.j){a.$1(b) +return}A.oa(null,null,this,a,b)}catch(q){s=A.F(q) +r=A.S(q) +A.fz(s,r)}}, +hr(a,b,c){var s,r,q +try{if(B.d===$.j){a.$2(b,c) +return}A.o9(null,null,this,a,b,c)}catch(q){s=A.F(q) +r=A.S(q) +A.fz(s,r)}}, +ef(a,b){return new A.nz(this,a,b)}, +fX(a,b,c){return new A.nB(this,a,c,b)}, +cS(a){return new A.ny(this,a)}, +eg(a,b){return new A.nA(this,a,b)}, +i(a,b){return null}, +c4(a,b){A.fz(a,b)}, +h8(a,b){return A.rG(null,null,this,a,b)}, +be(a){if($.j===B.d)return a.$0() +return A.o8(null,null,this,a)}, +bf(a,b){if($.j===B.d)return a.$1(b) +return A.oa(null,null,this,a,b)}, +eK(a,b,c){if($.j===B.d)return a.$2(b,c) +return A.o9(null,null,this,a,b,c)}, +av(a){return a}, +bc(a){return a}, +d7(a){return a}, +h4(a,b){return null}, +aZ(a){A.ob(null,null,this,a)}, +ei(a,b){return A.p_(a,b)}, +hj(a){A.pC(a)}} +A.nz.prototype={ +$0(){return this.a.be(this.b,this.c)}, +$S(){return this.c.h("0()")}} +A.nB.prototype={ +$1(a){var s=this +return s.a.bf(s.b,a,s.d,s.c)}, +$S(){return this.d.h("@<0>").H(this.c).h("1(2)")}} +A.ny.prototype={ +$0(){return this.a.cg(this.b)}, +$S:0} +A.nA.prototype={ +$1(a){return this.a.ci(this.b,a,this.c)}, +$S(){return this.c.h("~(0)")}} +A.cK.prototype={ +gl(a){return this.a}, +gF(a){return this.a===0}, +ga_(){return new A.cL(this,A.t(this).h("cL<1>"))}, +gaM(){var s=A.t(this) +return A.eu(new A.cL(this,s.h("cL<1>")),new A.mH(this),s.c,s.y[1])}, +a4(a){var s,r +if(typeof a=="string"&&a!=="__proto__"){s=this.b +return s==null?!1:s[a]!=null}else if(typeof a=="number"&&(a&1073741823)===a){r=this.c +return r==null?!1:r[a]!=null}else return this.ib(a)}, +ib(a){var s=this.d +if(s==null)return!1 +return this.aP(this.fh(s,a),a)>=0}, +i(a,b){var s,r,q +if(typeof b=="string"&&b!=="__proto__"){s=this.b +r=s==null?null:A.r2(s,b) +return r}else if(typeof b=="number"&&(b&1073741823)===b){q=this.c +r=q==null?null:A.r2(q,b) +return r}else return this.iu(b)}, +iu(a){var s,r,q=this.d +if(q==null)return null +s=this.fh(q,a) +r=this.aP(s,a) +return r<0?null:s[r+1]}, +q(a,b,c){var s,r,q=this +if(typeof b=="string"&&b!=="__proto__"){s=q.b +q.f1(s==null?q.b=A.pb():s,b,c)}else if(typeof b=="number"&&(b&1073741823)===b){r=q.c +q.f1(r==null?q.c=A.pb():r,b,c)}else q.jg(b,c)}, +jg(a,b){var s,r,q,p=this,o=p.d +if(o==null)o=p.d=A.pb() +s=p.dD(a) +r=o[s] +if(r==null){A.pc(o,s,[a,b]);++p.a +p.e=null}else{q=p.aP(r,a) +if(q>=0)r[q+1]=b +else{r.push(a,b);++p.a +p.e=null}}}, +aa(a,b){var s,r,q,p,o,n=this,m=n.f7() +for(s=m.length,r=A.t(n).y[1],q=0;q"))}} +A.io.prototype={ +gm(){var s=this.d +return s==null?this.$ti.c.a(s):s}, +k(){var s=this,r=s.b,q=s.c,p=s.a +if(r!==p.e)throw A.a(A.az(p)) +else if(q>=r.length){s.d=null +return!1}else{s.d=r[q] +s.c=q+1 +return!0}}} +A.f6.prototype={ +gt(a){var s=this,r=new A.dE(s,s.r,s.$ti.h("dE<1>")) +r.c=s.e +return r}, +gl(a){return this.a}, +gF(a){return this.a===0}, +K(a,b){var s,r +if(b!=="__proto__"){s=this.b +if(s==null)return!1 +return s[b]!=null}else{r=this.ia(b) +return r}}, +ia(a){var s=this.d +if(s==null)return!1 +return this.aP(s[B.a.gB(a)&1073741823],a)>=0}, +gG(a){var s=this.e +if(s==null)throw A.a(A.C("No elements")) +return s.a}, +gC(a){var s=this.f +if(s==null)throw A.a(A.C("No elements")) +return s.a}, +v(a,b){var s,r,q=this +if(typeof b=="string"&&b!=="__proto__"){s=q.b +return q.f0(s==null?q.b=A.pd():s,b)}else if(typeof b=="number"&&(b&1073741823)===b){r=q.c +return q.f0(r==null?q.c=A.pd():r,b)}else return q.i_(b)}, +i_(a){var s,r,q=this,p=q.d +if(p==null)p=q.d=A.pd() +s=J.ay(a)&1073741823 +r=p[s] +if(r==null)p[s]=[q.dY(a)] +else{if(q.aP(r,a)>=0)return!1 +r.push(q.dY(a))}return!0}, +A(a,b){var s +if(typeof b=="string"&&b!=="__proto__")return this.j3(this.b,b) +else{s=this.j2(b) +return s}}, +j2(a){var s,r,q,p,o=this.d +if(o==null)return!1 +s=J.ay(a)&1073741823 +r=o[s] +q=this.aP(r,a) +if(q<0)return!1 +p=r.splice(q,1)[0] +if(0===r.length)delete o[s] +this.fS(p) +return!0}, +f0(a,b){if(a[b]!=null)return!1 +a[b]=this.dY(b) +return!0}, +j3(a,b){var s +if(a==null)return!1 +s=a[b] +if(s==null)return!1 +this.fS(s) +delete a[b] +return!0}, +fo(){this.r=this.r+1&1073741823}, +dY(a){var s,r=this,q=new A.nt(a) +if(r.e==null)r.e=r.f=q +else{s=r.f +s.toString +q.c=s +r.f=s.b=q}++r.a +r.fo() +return q}, +fS(a){var s=this,r=a.c,q=a.b +if(r==null)s.e=q +else r.b=q +if(q==null)s.f=r +else q.c=r;--s.a +s.fo()}, +aP(a,b){var s,r +if(a==null)return-1 +s=a.length +for(r=0;r"))}, +gl(a){return this.b}, +gG(a){var s +if(this.b===0)throw A.a(A.C("No such element")) +s=this.c +s.toString +return s}, +gC(a){var s +if(this.b===0)throw A.a(A.C("No such element")) +s=this.c.c +s.toString +return s}, +gF(a){return this.b===0}, +dU(a,b,c){var s,r,q=this +if(b.a!=null)throw A.a(A.C("LinkedListEntry is already in a LinkedList"));++q.a +b.a=q +s=q.b +if(s===0){b.b=b +q.c=b.c=b +q.b=s+1 +return}r=a.c +r.toString +b.c=r +b.b=a +a.c=r.b=b +q.b=s+1}, +e6(a){var s,r,q=this;++q.a +s=a.b +s.c=a.c +a.c.b=s +r=--q.b +a.a=a.b=a.c=null +if(r===0)q.c=null +else if(a===q.c)q.c=s}} +A.iv.prototype={ +gm(){var s=this.c +return s==null?this.$ti.c.a(s):s}, +k(){var s=this,r=s.a +if(s.b!==r.a)throw A.a(A.az(s)) +if(r.b!==0)r=s.e&&s.d===r.gG(0) +else r=!0 +if(r){s.c=null +return!1}s.e=!0 +r=s.d +s.c=r +s.d=r.b +return!0}} +A.aI.prototype={ +gcc(){var s=this.a +if(s==null||this===s.gG(0))return null +return this.c}} +A.x.prototype={ +gt(a){return new A.aZ(a,this.gl(a),A.aG(a).h("aZ"))}, +M(a,b){return this.i(a,b)}, +gF(a){return this.gl(a)===0}, +gG(a){if(this.gl(a)===0)throw A.a(A.am()) +return this.i(a,0)}, +gC(a){if(this.gl(a)===0)throw A.a(A.am()) +return this.i(a,this.gl(a)-1)}, +bb(a,b,c){return new A.E(a,b,A.aG(a).h("@").H(c).h("E<1,2>"))}, +Y(a,b){return A.b3(a,b,null,A.aG(a).h("x.E"))}, +aj(a,b){return A.b3(a,0,A.cS(b,"count",t.S),A.aG(a).h("x.E"))}, +aA(a,b){var s,r,q,p,o=this +if(o.gF(a)){s=J.qd(0,A.aG(a).h("x.E")) +return s}r=o.i(a,0) +q=A.b_(o.gl(a),r,!0,A.aG(a).h("x.E")) +for(p=1;p").H(b).h("aj<1,2>"))}, +a0(a,b,c){var s=this.gl(a) +A.ba(b,c,s) +return A.aw(this.co(a,b,c),!0,A.aG(a).h("x.E"))}, +co(a,b,c){A.ba(b,c,this.gl(a)) +return A.b3(a,b,c,A.aG(a).h("x.E"))}, +en(a,b,c,d){var s +A.ba(b,c,this.gl(a)) +for(s=b;s").b(d)){r=e +q=d}else{q=J.e4(d,e).aA(0,!1) +r=0}p=J.Z(q) +if(r+s>p.gl(q))throw A.a(A.qa()) +if(r=0;--o)this.q(a,b+o,p.i(q,r+o)) +else for(o=0;o"))}, +gl(a){return J.ae(this.ga_())}, +gF(a){return J.j_(this.ga_())}, +gaM(){return new A.f7(this,A.t(this).h("f7"))}, +j(a){return A.oS(this)}, +$iab:1} +A.kr.prototype={ +$1(a){var s=this.a,r=s.i(0,a) +if(r==null)r=A.t(s).h("U.V").a(r) +return new A.bx(a,r,A.t(s).h("bx"))}, +$S(){return A.t(this.a).h("bx(U.K)")}} +A.ks.prototype={ +$2(a,b){var s,r=this.a +if(!r.a)this.b.a+=", " +r.a=!1 +r=this.b +s=A.v(a) +s=r.a+=s +r.a=s+": " +s=A.v(b) +r.a+=s}, +$S:44} +A.f7.prototype={ +gl(a){var s=this.a +return s.gl(s)}, +gF(a){var s=this.a +return s.gF(s)}, +gG(a){var s=this.a +s=s.i(0,J.fI(s.ga_())) +return s==null?this.$ti.y[1].a(s):s}, +gC(a){var s=this.a +s=s.i(0,J.j0(s.ga_())) +return s==null?this.$ti.y[1].a(s):s}, +gt(a){var s=this.a +return new A.iw(J.M(s.ga_()),s,this.$ti.h("iw<1,2>"))}} +A.iw.prototype={ +k(){var s=this,r=s.a +if(r.k()){s.c=s.b.i(0,r.gm()) +return!0}s.c=null +return!1}, +gm(){var s=this.c +return s==null?this.$ti.y[1].a(s):s}} +A.dj.prototype={ +gF(a){return this.a===0}, +bb(a,b,c){return new A.cu(this,b,this.$ti.h("@<1>").H(c).h("cu<1,2>"))}, +j(a){return A.oN(this,"{","}")}, +aj(a,b){return A.oZ(this,b,this.$ti.c)}, +Y(a,b){return A.qB(this,b,this.$ti.c)}, +gG(a){var s,r=A.iu(this,this.r,this.$ti.c) +if(!r.k())throw A.a(A.am()) +s=r.d +return s==null?r.$ti.c.a(s):s}, +gC(a){var s,r,q=A.iu(this,this.r,this.$ti.c) +if(!q.k())throw A.a(A.am()) +s=q.$ti.c +do{r=q.d +if(r==null)r=s.a(r)}while(q.k()) +return r}, +M(a,b){var s,r,q,p=this +A.ac(b,"index") +s=A.iu(p,p.r,p.$ti.c) +for(r=b;s.k();){if(r===0){q=s.d +return q==null?s.$ti.c.a(q):q}--r}throw A.a(A.hc(b,b-r,p,null,"index"))}, +$iu:1, +$if:1} +A.fg.prototype={} +A.nT.prototype={ +$0(){var s,r +try{s=new TextDecoder("utf-8",{fatal:true}) +return s}catch(r){}return null}, +$S:26} +A.nS.prototype={ +$0(){var s,r +try{s=new TextDecoder("utf-8",{fatal:false}) +return s}catch(r){}return null}, +$S:26} +A.fK.prototype={ +jX(a){return B.ao.a5(a)}} +A.iM.prototype={ +a5(a){var s,r,q,p=A.ba(0,null,a.length),o=new Uint8Array(p) +for(s=~this.a,r=0;r=0){g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(f) +if(g===k)continue +k=g}else{if(f===-1){if(o<0){e=p==null?null:p.a.length +if(e==null)e=0 +o=e+(r-q) +n=r}++m +if(k===61)continue}k=g}if(f!==-2){if(p==null){p=new A.ax("") +e=p}else e=p +e.a+=B.a.n(a0,q,r) +d=A.aD(k) +e.a+=d +q=l +continue}}throw A.a(A.ak("Invalid base64 data",a0,r))}if(p!=null){e=B.a.n(a0,q,a2) +e=p.a+=e +d=e.length +if(o>=0)A.pP(a0,n,a2,o,m,d) +else{c=B.b.ae(d-1,4)+1 +if(c===1)throw A.a(A.ak(a,a0,a2)) +for(;c<4;){e+="=" +p.a=e;++c}}e=p.a +return B.a.aL(a0,a1,a2,e.charCodeAt(0)==0?e:e)}b=a2-a1 +if(o>=0)A.pP(a0,n,a2,o,m,b) +else{c=B.b.ae(b,4) +if(c===1)throw A.a(A.ak(a,a0,a2)) +if(c>1)a0=B.a.aL(a0,a2,a2,c===2?"==":"=")}return a0}} +A.fP.prototype={} +A.cr.prototype={} +A.cs.prototype={} +A.h4.prototype={} +A.hU.prototype={ +cV(a){return new A.fu(!1).dE(a,0,null,!0)}} +A.hV.prototype={ +a5(a){var s,r,q=A.ba(0,null,a.length) +if(q===0)return new Uint8Array(0) +s=new Uint8Array(q*3) +r=new A.nU(s) +if(r.it(a,0,q)!==q)r.e9() +return B.e.a0(s,0,r.b)}} +A.nU.prototype={ +e9(){var s=this,r=s.c,q=s.b,p=s.b=q+1 +r.$flags&2&&A.z(r) +r[q]=239 +q=s.b=p+1 +r[p]=191 +s.b=q+1 +r[q]=189}, +jv(a,b){var s,r,q,p,o=this +if((b&64512)===56320){s=65536+((a&1023)<<10)|b&1023 +r=o.c +q=o.b +p=o.b=q+1 +r.$flags&2&&A.z(r) +r[q]=s>>>18|240 +q=o.b=p+1 +r[p]=s>>>12&63|128 +p=o.b=q+1 +r[q]=s>>>6&63|128 +o.b=p+1 +r[p]=s&63|128 +return!0}else{o.e9() +return!1}}, +it(a,b,c){var s,r,q,p,o,n,m,l,k=this +if(b!==c&&(a.charCodeAt(c-1)&64512)===55296)--c +for(s=k.c,r=s.$flags|0,q=s.length,p=b;p=q)break +k.b=n+1 +r&2&&A.z(s) +s[n]=o}else{n=o&64512 +if(n===55296){if(k.b+4>q)break +m=p+1 +if(k.jv(o,a.charCodeAt(m)))p=m}else if(n===56320){if(k.b+3>q)break +k.e9()}else if(o<=2047){n=k.b +l=n+1 +if(l>=q)break +k.b=l +r&2&&A.z(s) +s[n]=o>>>6|192 +k.b=l+1 +s[l]=o&63|128}else{n=k.b +if(n+2>=q)break +l=k.b=n+1 +r&2&&A.z(s) +s[n]=o>>>12|224 +n=k.b=l+1 +s[l]=o>>>6&63|128 +k.b=n+1 +s[n]=o&63|128}}}return p}} +A.fu.prototype={ +dE(a,b,c,d){var s,r,q,p,o,n,m=this,l=A.ba(b,c,J.ae(a)) +if(b===l)return"" +if(a instanceof Uint8Array){s=a +r=s +q=0}else{r=A.vW(a,b,l) +l-=b +q=b +b=0}if(d&&l-b>=15){p=m.a +o=A.vV(p,r,b,l) +if(o!=null){if(!p)return o +if(o.indexOf("\ufffd")<0)return o}}o=m.dG(r,b,l,d) +p=m.b +if((p&1)!==0){n=A.vX(p) +m.b=0 +throw A.a(A.ak(n,a,q+m.c))}return o}, +dG(a,b,c,d){var s,r,q=this +if(c-b>1000){s=B.b.I(b+c,2) +r=q.dG(a,b,s,!1) +if((q.b&1)!==0)return r +return r+q.dG(a,s,c,d)}return q.jT(a,b,c,d)}, +jT(a,b,c,d){var s,r,q,p,o,n,m,l=this,k=65533,j=l.b,i=l.c,h=new A.ax(""),g=b+1,f=a[b] +$label0$0:for(s=l.a;!0;){for(;!0;g=p){r="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHJEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBKCCCCCCCCCCCCDCLONNNMEEEEEEEEEEE".charCodeAt(f)&31 +i=j<=32?f&61694>>>r:(f&63|i<<6)>>>0 +j=" \x000:XECCCCCN:lDb \x000:XECCCCCNvlDb \x000:XECCCCCN:lDb AAAAA\x00\x00\x00\x00\x00AAAAA00000AAAAA:::::AAAAAGG000AAAAA00KKKAAAAAG::::AAAAA:IIIIAAAAA000\x800AAAAA\x00\x00\x00\x00 AAAAA".charCodeAt(j+r) +if(j===0){q=A.aD(i) +h.a+=q +if(g===c)break $label0$0 +break}else if((j&1)!==0){if(s)switch(j){case 69:case 67:q=A.aD(k) +h.a+=q +break +case 65:q=A.aD(k) +h.a+=q;--g +break +default:q=A.aD(k) +q=h.a+=q +h.a=q+A.aD(k) +break}else{l.b=j +l.c=g-1 +return""}j=0}if(g===c)break $label0$0 +p=g+1 +f=a[g]}p=g+1 +f=a[g] +if(f<128){while(!0){if(!(p=128){o=n-1 +p=n +break}p=n}if(o-g<20)for(m=g;m32)if(s){s=A.aD(k) +h.a+=s}else{l.b=77 +l.c=c +return""}l.b=j +l.c=i +s=h.a +return s.charCodeAt(0)==0?s:s}} +A.a8.prototype={ +aB(a){var s,r,q=this,p=q.c +if(p===0)return q +s=!q.a +r=q.b +p=A.aM(p,r) +return new A.a8(p===0?!1:s,r,p)}, +im(a){var s,r,q,p,o,n,m=this.c +if(m===0)return $.b7() +s=m+a +r=this.b +q=new Uint16Array(s) +for(p=m-1;p>=0;--p)q[p+a]=r[p] +o=this.a +n=A.aM(s,q) +return new A.a8(n===0?!1:o,q,n)}, +io(a){var s,r,q,p,o,n,m,l=this,k=l.c +if(k===0)return $.b7() +s=k-a +if(s<=0)return l.a?$.pL():$.b7() +r=l.b +q=new Uint16Array(s) +for(p=a;p>>0!==0)return l.dm(0,$.fF()) +for(k=0;k=0)return q.cs(b,r) +return b.cs(q,!r)}, +dm(a,b){var s,r,q=this,p=q.c +if(p===0)return b.aB(0) +s=b.c +if(s===0)return q +r=q.a +if(r!==b.a)return q.ds(b,r) +if(A.ma(q.b,p,b.b,s)>=0)return q.cs(b,r) +return b.cs(q,!r)}, +bJ(a,b){var s,r,q,p,o,n,m,l=this.c,k=b.c +if(l===0||k===0)return $.b7() +s=l+k +r=this.b +q=b.b +p=new Uint16Array(s) +for(o=0;o0?p.aB(0):p}, +j1(a){var s,r,q,p=this +if(p.c0)q=q.bk(0,$.p6.ah()) +return p.a&&q.c>0?q.aB(0):q}, +fb(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=this,b=c.c +if(b===$.qW&&a.c===$.qY&&c.b===$.qV&&a.b===$.qX)return +s=a.b +r=a.c +q=16-B.b.gfY(s[r-1]) +if(q>0){p=new Uint16Array(r+5) +o=A.qU(s,r,q,p) +n=new Uint16Array(b+5) +m=A.qU(c.b,b,q,n)}else{n=A.p7(c.b,0,b,b+2) +o=r +p=s +m=b}l=p[o-1] +k=m-o +j=new Uint16Array(m) +i=A.p8(p,o,k,j) +h=m+1 +g=n.$flags|0 +if(A.ma(n,m,j,i)>=0){g&2&&A.z(n) +n[m]=1 +A.ia(n,h,j,i,n)}else{g&2&&A.z(n) +n[m]=0}f=new Uint16Array(o+2) +f[o]=1 +A.ia(f,o+1,p,o,f) +e=m-1 +for(;k>0;){d=A.vi(l,n,e);--k +A.r_(d,f,0,n,k,o) +if(n[e]1;){q=$.pK() +if(q.c===0)A.B(B.as) +p=r.j1(q).j(0) +s.push(p) +o=p.length +if(o===1)s.push("000") +if(o===2)s.push("00") +if(o===3)s.push("0") +r=r.il(q)}s.push(B.b.j(r.b[0])) +if(m)s.push("-") +return new A.eD(s,t.bJ).c5(0)}} +A.mb.prototype={ +$2(a,b){a=a+b&536870911 +a=a+((a&524287)<<10)&536870911 +return a^a>>>6}, +$S:4} +A.mc.prototype={ +$1(a){a=a+((a&67108863)<<3)&536870911 +a^=a>>>11 +return a+((a&16383)<<15)&536870911}, +$S:13} +A.il.prototype={ +h2(a){var s=this.a +if(s!=null)s.unregister(a)}} +A.ef.prototype={ +W(a,b){if(b==null)return!1 +return b instanceof A.ef&&this.a===b.a&&this.b===b.b&&this.c===b.c}, +gB(a){return A.ez(this.a,this.b,B.f,B.f)}, +ai(a,b){var s=B.b.ai(this.a,b.a) +if(s!==0)return s +return B.b.ai(this.b,b.b)}, +j(a){var s=this,r=A.ui(A.qq(s)),q=A.fX(A.qo(s)),p=A.fX(A.ql(s)),o=A.fX(A.qm(s)),n=A.fX(A.qn(s)),m=A.fX(A.qp(s)),l=A.pY(A.uQ(s)),k=s.b,j=k===0?"":A.pY(k) +k=r+"-"+q +if(s.c)return k+"-"+p+" "+o+":"+n+":"+m+"."+l+j+"Z" +else return k+"-"+p+" "+o+":"+n+":"+m+"."+l+j}} +A.br.prototype={ +W(a,b){if(b==null)return!1 +return b instanceof A.br&&this.a===b.a}, +gB(a){return B.b.gB(this.a)}, +ai(a,b){return B.b.ai(this.a,b.a)}, +j(a){var s,r,q,p,o,n=this.a,m=B.b.I(n,36e8),l=n%36e8 +if(n<0){m=0-m +n=0-l +s="-"}else{n=l +s=""}r=B.b.I(n,6e7) +n%=6e7 +q=r<10?"0":"" +p=B.b.I(n,1e6) +o=p<10?"0":"" +return s+m+":"+q+r+":"+o+p+"."+B.a.kz(B.b.j(n%1e6),6,"0")}} +A.mp.prototype={ +j(a){return this.ag()}} +A.P.prototype={ +gbl(){return A.uP(this)}} +A.fM.prototype={ +j(a){var s=this.a +if(s!=null)return"Assertion failed: "+A.h5(s) +return"Assertion failed"}} +A.bF.prototype={} +A.aX.prototype={ +gdK(){return"Invalid argument"+(!this.a?"(s)":"")}, +gdJ(){return""}, +j(a){var s=this,r=s.c,q=r==null?"":" ("+r+")",p=s.d,o=p==null?"":": "+A.v(p),n=s.gdK()+q+o +if(!s.a)return n +return n+s.gdJ()+": "+A.h5(s.gex())}, +gex(){return this.b}} +A.dd.prototype={ +gex(){return this.b}, +gdK(){return"RangeError"}, +gdJ(){var s,r=this.e,q=this.f +if(r==null)s=q!=null?": Not less than or equal to "+A.v(q):"" +else if(q==null)s=": Not greater than or equal to "+A.v(r) +else if(q>r)s=": Not in inclusive range "+A.v(r)+".."+A.v(q) +else s=qe.length +else s=!1 +if(s)f=null +if(f==null){if(e.length>78)e=B.a.n(e,0,75)+"..." +return g+"\n"+e}for(r=1,q=0,p=!1,o=0;o1?g+(" (at line "+r+", character "+(f-q+1)+")\n"):g+(" (at character "+(f+1)+")\n") +m=e.length +for(o=f;o78){k="..." +if(f-q<75){j=q+75 +i=q}else{if(m-f<75){i=m-75 +j=m +k=""}else{i=f-36 +j=f+36}l="..."}}else{j=m +i=q +k=""}return g+l+B.a.n(e,i,j)+k+"\n"+B.a.bJ(" ",f-i+l.length)+"^\n"}else return f!=null?g+(" (at offset "+A.v(f)+")"):g}, +$ia7:1} +A.he.prototype={ +gbl(){return null}, +j(a){return"IntegerDivisionByZeroException"}, +$iP:1, +$ia7:1} +A.f.prototype={ +by(a,b){return A.ea(this,A.t(this).h("f.E"),b)}, +bb(a,b,c){return A.eu(this,b,A.t(this).h("f.E"),c)}, +aA(a,b){return A.aw(this,b,A.t(this).h("f.E"))}, +cj(a){return this.aA(0,!0)}, +gl(a){var s,r=this.gt(this) +for(s=0;r.k();)++s +return s}, +gF(a){return!this.gt(this).k()}, +aj(a,b){return A.oZ(this,b,A.t(this).h("f.E"))}, +Y(a,b){return A.qB(this,b,A.t(this).h("f.E"))}, +hG(a,b){return new A.eE(this,b,A.t(this).h("eE"))}, +gG(a){var s=this.gt(this) +if(!s.k())throw A.a(A.am()) +return s.gm()}, +gC(a){var s,r=this.gt(this) +if(!r.k())throw A.a(A.am()) +do s=r.gm() +while(r.k()) +return s}, +M(a,b){var s,r +A.ac(b,"index") +s=this.gt(this) +for(r=b;s.k();){if(r===0)return s.gm();--r}throw A.a(A.hc(b,b-r,this,null,"index"))}, +j(a){return A.uz(this,"(",")")}} +A.bx.prototype={ +j(a){return"MapEntry("+A.v(this.a)+": "+A.v(this.b)+")"}} +A.G.prototype={ +gB(a){return A.e.prototype.gB.call(this,0)}, +j(a){return"null"}} +A.e.prototype={$ie:1, +W(a,b){return this===b}, +gB(a){return A.eC(this)}, +j(a){return"Instance of '"+A.ky(this)+"'"}, +gV(a){return A.xt(this)}, +toString(){return this.j(this)}} +A.dO.prototype={ +j(a){return this.a}, +$ia0:1} +A.ax.prototype={ +gl(a){return this.a.length}, +j(a){var s=this.a +return s.charCodeAt(0)==0?s:s}} +A.lt.prototype={ +$2(a,b){throw A.a(A.ak("Illegal IPv4 address, "+a,this.a,b))}, +$S:54} +A.lu.prototype={ +$2(a,b){throw A.a(A.ak("Illegal IPv6 address, "+a,this.a,b))}, +$S:62} +A.lv.prototype={ +$2(a,b){var s +if(b-a>4)this.a.$2("an IPv6 part can only contain a maximum of 4 hex digits",a) +s=A.aQ(B.a.n(this.b,a,b),16) +if(s<0||s>65535)this.a.$2("each part must be in the range of `0x0..0xFFFF`",a) +return s}, +$S:4} +A.fr.prototype={ +gfN(){var s,r,q,p,o=this,n=o.w +if(n===$){s=o.a +r=s.length!==0?""+s+":":"" +q=o.c +p=q==null +if(!p||s==="file"){s=r+"//" +r=o.b +if(r.length!==0)s=s+r+"@" +if(!p)s+=q +r=o.d +if(r!=null)s=s+":"+A.v(r)}else s=r +s+=o.e +r=o.f +if(r!=null)s=s+"?"+r +r=o.r +if(r!=null)s=s+"#"+r +n!==$&&A.oz() +n=o.w=s.charCodeAt(0)==0?s:s}return n}, +gkA(){var s,r,q=this,p=q.x +if(p===$){s=q.e +if(s.length!==0&&s.charCodeAt(0)===47)s=B.a.L(s,1) +r=s.length===0?B.r:A.aJ(new A.E(A.d(s.split("/"),t.s),A.xh(),t.do),t.N) +q.x!==$&&A.oz() +p=q.x=r}return p}, +gB(a){var s,r=this,q=r.y +if(q===$){s=B.a.gB(r.gfN()) +r.y!==$&&A.oz() +r.y=s +q=s}return q}, +geO(){return this.b}, +gba(){var s=this.c +if(s==null)return"" +if(B.a.u(s,"["))return B.a.n(s,1,s.length-1) +return s}, +gcb(){var s=this.d +return s==null?A.rg(this.a):s}, +gcd(){var s=this.f +return s==null?"":s}, +gcY(){var s=this.r +return s==null?"":s}, +kp(a){var s=this.a +if(a.length!==s.length)return!1 +return A.w8(a,s,0)>=0}, +ho(a){var s,r,q,p,o,n,m,l=this +a=A.nR(a,0,a.length) +s=a==="file" +r=l.b +q=l.d +if(a!==l.a)q=A.nQ(q,a) +p=l.c +if(!(p!=null))p=r.length!==0||q!=null||s?"":null +o=l.e +if(!s)n=p!=null&&o.length!==0 +else n=!0 +if(n&&!B.a.u(o,"/"))o="/"+o +m=o +return A.fs(a,r,p,q,m,l.f,l.r)}, +ghb(){if(this.a!==""){var s=this.r +s=(s==null?"":s)===""}else s=!1 +return s}, +fn(a,b){var s,r,q,p,o,n,m +for(s=0,r=0;B.a.E(b,"../",r);){r+=3;++s}q=B.a.d2(a,"/") +while(!0){if(!(q>0&&s>0))break +p=B.a.hd(a,"/",q-1) +if(p<0)break +o=q-p +n=o!==2 +m=!1 +if(!n||o===3)if(a.charCodeAt(p+1)===46)n=!n||a.charCodeAt(p+2)===46 +else n=m +else n=m +if(n)break;--s +q=p}return B.a.aL(a,q+1,null,B.a.L(b,r-3*s))}, +hq(a){return this.ce(A.bn(a))}, +ce(a){var s,r,q,p,o,n,m,l,k,j,i,h=this +if(a.gZ().length!==0)return a +else{s=h.a +if(a.geq()){r=a.ho(s) +return r}else{q=h.b +p=h.c +o=h.d +n=h.e +if(a.gh9())m=a.gcZ()?a.gcd():h.f +else{l=A.vT(h,n) +if(l>0){k=B.a.n(n,0,l) +n=a.gep()?k+A.cP(a.gac()):k+A.cP(h.fn(B.a.L(n,k.length),a.gac()))}else if(a.gep())n=A.cP(a.gac()) +else if(n.length===0)if(p==null)n=s.length===0?a.gac():A.cP(a.gac()) +else n=A.cP("/"+a.gac()) +else{j=h.fn(n,a.gac()) +r=s.length===0 +if(!r||p!=null||B.a.u(n,"/"))n=A.cP(j) +else n=A.pj(j,!r||p!=null)}m=a.gcZ()?a.gcd():null}}}i=a.ger()?a.gcY():null +return A.fs(s,q,p,o,n,m,i)}, +geq(){return this.c!=null}, +gcZ(){return this.f!=null}, +ger(){return this.r!=null}, +gh9(){return this.e.length===0}, +gep(){return B.a.u(this.e,"/")}, +eL(){var s,r=this,q=r.a +if(q!==""&&q!=="file")throw A.a(A.a4("Cannot extract a file path from a "+q+" URI")) +q=r.f +if((q==null?"":q)!=="")throw A.a(A.a4(u.y)) +q=r.r +if((q==null?"":q)!=="")throw A.a(A.a4(u.l)) +if(r.c!=null&&r.gba()!=="")A.B(A.a4(u.j)) +s=r.gkA() +A.vL(s,!1) +q=A.oX(B.a.u(r.e,"/")?""+"/":"",s,"/") +q=q.charCodeAt(0)==0?q:q +return q}, +j(a){return this.gfN()}, +W(a,b){var s,r,q,p=this +if(b==null)return!1 +if(p===b)return!0 +s=!1 +if(t.dD.b(b))if(p.a===b.gZ())if(p.c!=null===b.geq())if(p.b===b.geO())if(p.gba()===b.gba())if(p.gcb()===b.gcb())if(p.e===b.gac()){r=p.f +q=r==null +if(!q===b.gcZ()){if(q)r="" +if(r===b.gcd()){r=p.r +q=r==null +if(!q===b.ger()){s=q?"":r +s=s===b.gcY()}}}}return s}, +$ihS:1, +gZ(){return this.a}, +gac(){return this.e}} +A.nP.prototype={ +$1(a){return A.vU(B.aN,a,B.j,!1)}, +$S:9} +A.hT.prototype={ +geN(){var s,r,q,p,o=this,n=null,m=o.c +if(m==null){m=o.a +s=o.b[0]+1 +r=B.a.aV(m,"?",s) +q=m.length +if(r>=0){p=A.ft(m,r+1,q,B.p,!1,!1) +q=r}else p=n +m=o.c=new A.ig("data","",n,n,A.ft(m,s,q,B.a5,!1,!1),p,n)}return m}, +j(a){var s=this.a +return this.b[0]===-1?"data:"+s:s}} +A.o1.prototype={ +$2(a,b){var s=this.a[a] +B.e.en(s,0,96,b) +return s}, +$S:76} +A.o2.prototype={ +$3(a,b,c){var s,r,q +for(s=b.length,r=a.$flags|0,q=0;q>>0]=c}}, +$S:25} +A.b4.prototype={ +geq(){return this.c>0}, +ges(){return this.c>0&&this.d+10&&this.r>=this.a.length}, +gZ(){var s=this.w +return s==null?this.w=this.i9():s}, +i9(){var s,r=this,q=r.b +if(q<=0)return"" +s=q===4 +if(s&&B.a.u(r.a,"http"))return"http" +if(q===5&&B.a.u(r.a,"https"))return"https" +if(s&&B.a.u(r.a,"file"))return"file" +if(q===7&&B.a.u(r.a,"package"))return"package" +return B.a.n(r.a,0,q)}, +geO(){var s=this.c,r=this.b+3 +return s>r?B.a.n(this.a,r,s-1):""}, +gba(){var s=this.c +return s>0?B.a.n(this.a,s,this.d):""}, +gcb(){var s,r=this +if(r.ges())return A.aQ(B.a.n(r.a,r.d+1,r.e),null) +s=r.b +if(s===4&&B.a.u(r.a,"http"))return 80 +if(s===5&&B.a.u(r.a,"https"))return 443 +return 0}, +gac(){return B.a.n(this.a,this.e,this.f)}, +gcd(){var s=this.f,r=this.r +return s=q.length)return s +return new A.b4(B.a.n(q,0,r),s.b,s.c,s.d,s.e,s.f,r,s.w)}, +ho(a){var s,r,q,p,o,n,m,l,k,j,i,h=this,g=null +a=A.nR(a,0,a.length) +s=!(h.b===a.length&&B.a.u(h.a,a)) +r=a==="file" +q=h.c +p=q>0?B.a.n(h.a,h.b+3,q):"" +o=h.ges()?h.gcb():g +if(s)o=A.nQ(o,a) +q=h.c +if(q>0)n=B.a.n(h.a,q,h.d) +else n=p.length!==0||o!=null||r?"":g +q=h.a +m=h.f +l=B.a.n(q,h.e,m) +if(!r)k=n!=null&&l.length!==0 +else k=!0 +if(k&&!B.a.u(l,"/"))l="/"+l +k=h.r +j=m0)return b +s=b.c +if(s>0){r=a.b +if(r<=0)return b +q=r===4 +if(q&&B.a.u(a.a,"file"))p=b.e!==b.f +else if(q&&B.a.u(a.a,"http"))p=!b.fk("80") +else p=!(r===5&&B.a.u(a.a,"https"))||!b.fk("443") +if(p){o=r+1 +return new A.b4(B.a.n(a.a,0,o)+B.a.L(b.a,c+1),r,s+o,b.d+o,b.e+o,b.f+o,b.r+o,a.w)}else return this.fP().ce(b)}n=b.e +c=b.f +if(n===c){s=b.r +if(c0?l:m +o=k-n +return new A.b4(B.a.n(a.a,0,k)+B.a.L(s,n),a.b,a.c,a.d,m,c+o,b.r+o,a.w)}j=a.e +i=a.f +if(j===i&&a.c>0){for(;B.a.E(s,"../",n);)n+=3 +o=j-n+1 +return new A.b4(B.a.n(a.a,0,j)+"/"+B.a.L(s,n),a.b,a.c,a.d,j,c+o,b.r+o,a.w)}h=a.a +l=A.r8(this) +if(l>=0)g=l +else for(g=j;B.a.E(h,"../",g);)g+=3 +f=0 +while(!0){e=n+3 +if(!(e<=c&&B.a.E(s,"../",n)))break;++f +n=e}for(d="";i>g;){--i +if(h.charCodeAt(i)===47){if(f===0){d="/" +break}--f +d="/"}}if(i===g&&a.b<=0&&!B.a.E(h,"/",j)){n-=f*3 +d=""}o=i-n+d.length +return new A.b4(B.a.n(h,0,i)+d+B.a.L(s,n),a.b,a.c,a.d,j,c+o,b.r+o,a.w)}, +eL(){var s,r=this,q=r.b +if(q>=0){s=!(q===4&&B.a.u(r.a,"file")) +q=s}else q=!1 +if(q)throw A.a(A.a4("Cannot extract a file path from a "+r.gZ()+" URI")) +q=r.f +s=r.a +if(q0?s.gba():r,n=s.ges()?s.gcb():r,m=s.a,l=s.f,k=B.a.n(m,s.e,l),j=s.r +l=l4294967296)throw A.a(new A.dd(k,k,!1,k,k,"max must be in range 0 < max \u2264 2^32, was "+a)) +if(a>255)if(a>65535)s=a>16777215?4:3 +else s=2 +else s=1 +r=this.a +r.$flags&2&&A.z(r,11) +r.setUint32(0,0,!1) +q=4-s +p=A.h(Math.pow(256,s)) +for(o=a-1,n=(a&o)===0;!0;){crypto.getRandomValues(J.cX(B.aV.gaT(r),q,s)) +m=r.getUint32(0,!1) +if(n)return(m&o)>>>0 +l=m%a +if(m-l+a>>0)&2147483647 +r^=r>>>6}r=r+(r<<3>>>0)&2147483647 +r^=r>>>11 +return r+(r<<15>>>0)&2147483647}} +A.hv.prototype={} +A.hR.prototype={} +A.eh.prototype={ +hR(a,b,c){var s=this.a.a +s===$&&A.H() +s.eB(this.giy(),new A.jI(this))}, +hf(){return this.d++}, +p(){var s=0,r=A.o(t.H),q,p=this,o +var $async$p=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:if(p.r||(p.w.a.a&30)!==0){s=1 +break}p.r=!0 +o=p.a.b +o===$&&A.H() +o.p() +s=3 +return A.c(p.w.a,$async$p) +case 3:case 1:return A.m(q,r)}}) +return A.n($async$p,r)}, +iz(a){var s,r=this +if(r.c){a.toString +a=B.a0.ej(a)}if(a instanceof A.bb){s=r.e.A(0,a.a) +if(s!=null)s.a.P(a.b)}else if(a instanceof A.bh){s=r.e.A(0,a.a) +if(s!=null)s.h_(new A.h1(a.b),a.c)}else if(a instanceof A.ao)r.f.v(0,a) +else if(a instanceof A.bq){s=r.e.A(0,a.a) +if(s!=null)s.fZ(B.a_)}}, +bv(a){var s,r,q=this +if(q.r||(q.w.a.a&30)!==0)throw A.a(A.C("Tried to send "+a.j(0)+" over isolate channel, but the connection was closed!")) +s=q.a.b +s===$&&A.H() +r=q.c?B.a0.dl(a):a +s.a.v(0,r)}, +kI(a,b,c){var s,r=this +if(r.r||(r.w.a.a&30)!==0)return +s=a.a +if(b instanceof A.e9)r.bv(new A.bq(s)) +else r.bv(new A.bh(s,b,c))}, +hD(a){var s=this.f +new A.ap(s,A.t(s).h("ap<1>")).ks(new A.jJ(this,a))}} +A.jI.prototype={ +$0(){var s,r,q,p,o +for(s=this.a,r=s.e,q=r.gaM(),p=A.t(q),q=new A.b0(J.M(q.a),q.b,p.h("b0<1,2>")),p=p.y[1];q.k();){o=q.a;(o==null?p.a(o):o).fZ(B.ar)}r.c1(0) +s.w.aU()}, +$S:0} +A.jJ.prototype={ +$1(a){return this.hx(a)}, +hx(a){var s=0,r=A.o(t.H),q,p=2,o,n=this,m,l,k,j,i,h +var $async$$1=A.p(function(b,c){if(b===1){o=c +s=p}while(true)switch(s){case 0:i=null +p=4 +k=n.b.$1(a) +s=7 +return A.c(t.cG.b(k)?k:A.f4(k,t.O),$async$$1) +case 7:i=c +p=2 +s=6 +break +case 4:p=3 +h=o +m=A.F(h) +l=A.S(h) +k=n.a.kI(a,m,l) +q=k +s=1 +break +s=6 +break +case 3:s=2 +break +case 6:k=n.a +if(!(k.r||(k.w.a.a&30)!==0))k.bv(new A.bb(a.a,i)) +case 1:return A.m(q,r) +case 2:return A.l(o,r)}}) +return A.n($async$$1,r)}, +$S:80} +A.iy.prototype={ +h_(a,b){var s +if(b==null)s=this.b +else{s=A.d([],t.J) +if(b instanceof A.bf)B.c.aH(s,b.a) +else s.push(A.qI(b)) +s.push(A.qI(this.b)) +s=new A.bf(A.aJ(s,t.a))}this.a.bz(a,s)}, +fZ(a){return this.h_(a,null)}} +A.fV.prototype={ +j(a){return"Channel was closed before receiving a response"}, +$ia7:1} +A.h1.prototype={ +j(a){return J.aW(this.a)}, +$ia7:1} +A.h0.prototype={ +dl(a){var s,r +if(a instanceof A.ao)return[0,a.a,this.h3(a.b)] +else if(a instanceof A.bh){s=J.aW(a.b) +r=a.c +r=r==null?null:r.j(0) +return[2,a.a,s,r]}else if(a instanceof A.bb)return[1,a.a,this.h3(a.b)] +else if(a instanceof A.bq)return A.d([3,a.a],t.t) +else return null}, +ej(a){var s,r,q,p +if(!t.j.b(a))throw A.a(B.aE) +s=J.Z(a) +r=A.h(s.i(a,0)) +q=A.h(s.i(a,1)) +switch(r){case 0:return new A.ao(q,t.ah.a(this.h1(s.i(a,2)))) +case 2:p=A.vZ(s.i(a,3)) +s=s.i(a,2) +if(s==null)s=t.K.a(s) +return new A.bh(q,s,p!=null?new A.dO(p):null) +case 1:return new A.bb(q,t.O.a(this.h1(s.i(a,2)))) +case 3:return new A.bq(q)}throw A.a(B.aF)}, +h3(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f +if(a==null)return a +if(a instanceof A.da)return a.a +else if(a instanceof A.bX){s=a.a +r=a.b +q=[] +for(p=a.c,o=p.length,n=0;n")),g=g.h("Q.E");s.k();){a8=s.d +h.push(this.dF(a8==null?g.a(a8):a8))}l.push(new A.cZ(i,h))}f=J.j0(a7.a) +$label1$2:{if(f==null){s=a6 +break $label1$2}A.h(f) +s=f +break $label1$2}return new A.bi(new A.e7(n,l),s) +case 5:return new A.c6(B.aa[q.$1(1)],p.$1(2)) +case 6:return new A.bW(q.$1(1),p.$1(2)) +case 13:s.toString +return new A.c7(A.oH(B.ac,A.a2(J.aH(s,1)))) +case 7:return new A.c5(new A.eA(p.$1(1),q.$1(2)),q.$1(3)) +case 8:e=A.d([],t.be) +s=t.j +k=1 +while(!0){m=a7.a +m.toString +if(!(k")).kh(0,new A.kP(r))}, +jV(a,b){var s,r,q +for(s=this.z,s=A.iu(s,s.r,s.$ti.c),r=s.$ti.c;s.k();){q=s.d +if(q==null)q=r.a(q) +if(q!==b)q.bv(new A.ao(q.d++,a))}}} +A.kR.prototype={ +$1(a){var s=this.a +s.i6() +s.as.p()}, +$S:87} +A.kS.prototype={ +$1(a){return this.a.iB(this.b,a)}, +$S:89} +A.kT.prototype={ +$1(a){return this.a.z.A(0,this.b)}, +$S:23} +A.kN.prototype={ +$0(){var s=this.b +return this.a.aE(s.a,s.b,s.c,s.d)}, +$S:94} +A.kO.prototype={ +$0(){return this.a.r.A(0,this.b.a)}, +$S:110} +A.kQ.prototype={ +$0(){var s,r=this.b +if(r==null)return this.a.w.length===0 +else{s=this.a.w +return s.length!==0&&B.c.gG(s)===r}}, +$S:35} +A.kP.prototype={ +$1(a){return this.a.$0()}, +$S:23} +A.ff.prototype={ +cP(a,b){return this.jM(a,b)}, +jM(a,b){var s=0,r=A.o(t.H),q=1,p,o=[],n=this,m,l,k,j,i +var $async$cP=A.p(function(c,d){if(c===1){p=d +s=q}while(true)switch(s){case 0:j=n.a +i=j.e_(a,!0) +q=2 +m=n.b +l=m.hf() +k=new A.k($.j,t.D) +m.e.q(0,l,new A.iy(new A.a5(k,t.h),A.oW())) +m.bv(new A.ao(l,new A.c5(b,i))) +s=5 +return A.c(k,$async$cP) +case 5:o.push(4) +s=3 +break +case 2:o=[1] +case 3:q=1 +j.cD(i) +s=o.pop() +break +case 4:return A.m(null,r) +case 1:return A.l(p,r)}}) +return A.n($async$cP,r)}} +A.i2.prototype={ +dl(a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=this,a1=null +$label0$0:{if(a2 instanceof A.ao){s=new A.ai(0,{i:a2.a,p:a0.jd(a2.b)}) +break $label0$0}if(a2 instanceof A.bb){s=new A.ai(1,{i:a2.a,p:a0.je(a2.b)}) +break $label0$0}r=a2 instanceof A.bh +q=a1 +p=a1 +o=!1 +n=a1 +m=a1 +s=!1 +if(r){l=a2.a +q=a2.b +k=q +o=q instanceof A.c9 +if(o){t.f_.a(k) +p=a2.c +s=a0.a.c>=4 +m=p +n=k +q=n}else q=k +j=l}else{j=a1 +l=j}if(s){s=m==null?a1:m.j(0) +i=n.a +h=n.b +if(h==null)h=a1 +g=n.c +f=n.e +if(f==null)f=a1 +e=n.f +if(e==null)e=a1 +d=n.r +$label1$1:{if(d==null){c=a1 +break $label1$1}c=[] +for(b=d.length,a=0;a") +q=new A.bA(A.aw(new A.E(s,new A.lP(),q),!0,q.h("Q.E"))) +s=q +break $label0$0}s=A.B(A.K("Unknown request tag "+r,m))}return s}, +je(a){var s,r +$label0$0:{s=null +if(a==null)break $label0$0 +if(a instanceof A.aK){r=a.a +s=A.bP(r)?r:A.h(r) +break $label0$0}if(a instanceof A.bC){s=this.jf(a) +break $label0$0}}return s}, +jf(a){var s,r,q,p=a.a,o=J.Z(p) +if(o.gF(p)){p=self +return{c:new p.Array(),r:new p.Array()}}else{s=J.cY(o.gG(p).ga_(),new A.lV(),t.N).cj(0) +r=A.d([],t.fk) +for(p=o.gt(p);p.k();){q=[] +for(o=J.M(p.gm().gaM());o.k();)q.push(this.cH(o.gm())) +r.push(q)}return{c:s,r:r}}}, +ik(a){var s,r,q,p,o,n,m,l,k,j +if(a==null)return null +else if(typeof a==="boolean")return new A.aK(A.bo(a)) +else if(typeof a==="number")return new A.aK(A.h(A.r(a))) +else{t.m.a(a) +s=a.c +s=t.u.b(s)?s:new A.aj(s,A.R(s).h("aj<1,i>")) +r=t.N +s=J.cY(s,new A.lT(),r) +q=A.aw(s,!0,s.$ti.h("Q.E")) +p=A.d([],t.d) +s=a.r +s=J.M(t.e9.b(s)?s:new A.aj(s,A.R(s).h("aj<1,w>"))) +o=t.X +for(;s.k();){n=s.gm() +m=A.a3(r,o) +n=A.uy(n,0,o) +l=J.M(n.a) +n=n.b +k=new A.eo(l,n) +for(;k.k();){j=k.c +j=j>=0?new A.ai(n+j,l.gm()):A.B(A.am()) +m.q(0,q[j.a],this.cG(j.b))}p.push(m)}return new A.bC(p)}}, +cH(a){var s +$label0$0:{if(a==null){s=null +break $label0$0}if(A.bp(a)){s=a +break $label0$0}if(A.bP(a)){s=a +break $label0$0}if(typeof a=="string"){s=a +break $label0$0}if(typeof a=="number"){s=A.d([15,a],t.n) +break $label0$0}if(a instanceof A.a8){s=A.d([14,a.j(0)],t.f) +break $label0$0}if(t.I.b(a)){s=new Uint8Array(A.iR(a)) +break $label0$0}s=A.B(A.K("Unknown db value: "+A.v(a),null))}return s}, +cG(a){var s,r,q,p=null +if(a!=null)if(typeof a==="number")return A.h(A.r(a)) +else if(typeof a==="boolean")return A.bo(a) +else if(typeof a==="string")return A.a2(a) +else if(A.kg(a,"Uint8Array"))return t.Z.a(a) +else{t.c.a(a) +s=a.length===2 +if(s){r=a[0] +q=a[1]}else{q=p +r=q}if(!s)throw A.a(A.C("Pattern matching error")) +if(r==14)return A.p9(A.a2(q),p) +else return A.r(q)}else return p}, +fa(a){var s,r=a!=null?A.a2(a):null +$label0$0:{if(r!=null){s=new A.dO(r) +break $label0$0}s=null +break $label0$0}return s}, +ig(a){var s,r,q,p,o=null,n=a.length>=8,m=o,l=o,k=o,j=o,i=o,h=o,g=o +if(n){s=a[0] +m=a[1] +l=a[2] +k=a[3] +j=a[4] +i=a[5] +h=a[6] +g=a[7]}else s=o +if(!n)throw A.a(A.C("Pattern matching error")) +s=A.h(A.r(s)) +j=A.h(A.r(j)) +A.a2(l) +n=k!=null?A.a2(k):o +r=h!=null?A.a2(h):o +if(g!=null){q=[] +t.c.a(g) +p=B.c.gt(g) +for(;p.k();)q.push(this.cG(p.gm()))}else q=o +p=i!=null?A.a2(i):o +return new A.bh(s,new A.c9(l,n,j,o,p,r,q),this.fa(m))}} +A.lW.prototype={ +$0(){var s=t.m.a(this.a.a) +return new A.ao(s.i,this.b.ij(s.p))}, +$S:111} +A.lX.prototype={ +$0(){var s=t.m.a(this.a.a) +return new A.bb(s.i,this.b.ik(s.p))}, +$S:117} +A.lU.prototype={ +$1(a){return a}, +$S:9} +A.lQ.prototype={ +$0(){var s,r,q,p,o,n,m=this.b,l=J.Z(m),k=t.c,j=k.a(l.i(m,1)),i=t.u.b(j)?j:new A.aj(j,A.R(j).h("aj<1,i>")) +i=J.cY(i,new A.lR(),t.N) +s=A.aw(i,!0,i.$ti.h("Q.E")) +i=l.gl(m) +r=A.d([],t.g7) +for(i=l.Y(m,2).aj(0,i-3),k=A.ea(i,i.$ti.h("f.E"),k),k=A.eu(k,new A.lS(),A.t(k).h("f.E"),t.ee),i=A.t(k),k=new A.b0(J.M(k.a),k.b,i.h("b0<1,2>")),q=this.a.gjt(),i=i.y[1];k.k();){p=k.a +if(p==null)p=i.a(p) +o=J.Z(p) +n=A.h(A.r(o.i(p,0))) +p=o.Y(p,1) +o=p.$ti.h("E") +r.push(new A.cZ(n,A.aw(new A.E(p,q,o),!0,o.h("Q.E"))))}m=l.i(m,l.gl(m)-1) +m=m==null?null:A.h(A.r(m)) +return new A.bi(new A.e7(s,r),m)}, +$S:39} +A.lR.prototype={ +$1(a){return a}, +$S:9} +A.lS.prototype={ +$1(a){return a}, +$S:38} +A.lP.prototype={ +$1(a){var s,r,q +t.c.a(a) +s=a.length===2 +if(s){r=a[0] +q=a[1]}else{r=null +q=null}if(!s)throw A.a(A.C("Pattern matching error")) +A.a2(r) +return new A.bE(q==null?null:B.a7[A.h(A.r(q))],r)}, +$S:41} +A.lV.prototype={ +$1(a){return a}, +$S:9} +A.lT.prototype={ +$1(a){return a}, +$S:9} +A.dp.prototype={ +ag(){return"UpdateKind."+this.b}} +A.bE.prototype={ +gB(a){return A.ez(this.a,this.b,B.f,B.f)}, +W(a,b){if(b==null)return!1 +return b instanceof A.bE&&b.a==this.a&&b.b===this.b}, +j(a){return"TableUpdate("+this.b+", kind: "+A.v(this.a)+")"}} +A.ox.prototype={ +$0(){return this.a.a.a.P(A.k3(this.b,this.c))}, +$S:0} +A.bV.prototype={ +J(){var s,r +if(this.c)return +for(s=this.b,r=0;!1;++r)s[r].$0() +this.c=!0}} +A.e9.prototype={ +j(a){return"Operation was cancelled"}, +$ia7:1} +A.an.prototype={ +p(){var s=0,r=A.o(t.H) +var $async$p=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:return A.m(null,r)}}) +return A.n($async$p,r)}} +A.e7.prototype={ +gB(a){return A.ez(B.o.ha(this.a),B.o.ha(this.b),B.f,B.f)}, +W(a,b){if(b==null)return!1 +return b instanceof A.e7&&B.o.em(b.a,this.a)&&B.o.em(b.b,this.b)}, +j(a){return"BatchedStatements("+A.v(this.a)+", "+A.v(this.b)+")"}} +A.cZ.prototype={ +gB(a){return A.ez(this.a,B.o,B.f,B.f)}, +W(a,b){if(b==null)return!1 +return b instanceof A.cZ&&b.a===this.a&&B.o.em(b.b,this.b)}, +j(a){return"ArgumentsForBatchedStatement("+this.a+", "+A.v(this.b)+")"}} +A.jy.prototype={} +A.kA.prototype={} +A.ln.prototype={} +A.kt.prototype={} +A.jC.prototype={} +A.hu.prototype={} +A.jR.prototype={} +A.i8.prototype={ +gez(){return!1}, +gc6(){return!1}, +fL(a,b,c){if(this.gez()||this.b>0)return this.a.cr(new A.m4(b,a,c),c) +else return a.$0()}, +bw(a,b){return this.fL(a,!0,b)}, +cz(a,b){this.gc6()}, +ad(a,b){return this.kP(a,b)}, +kP(a,b){var s=0,r=A.o(t.aS),q,p=this,o +var $async$ad=A.p(function(c,d){if(c===1)return A.l(d,r) +while(true)switch(s){case 0:s=3 +return A.c(p.bw(new A.m9(p,a,b),t.aj),$async$ad) +case 3:o=d.gjL(0) +q=A.aw(o,!0,o.$ti.h("Q.E")) +s=1 +break +case 1:return A.m(q,r)}}) +return A.n($async$ad,r)}, +cf(a,b){return this.bw(new A.m7(this,a,b),t.S)}, +az(a,b){return this.bw(new A.m8(this,a,b),t.S)}, +a8(a,b){return this.bw(new A.m6(this,b,a),t.H)}, +kL(a){return this.a8(a,null)}, +aw(a){return this.bw(new A.m5(this,a),t.H)}, +cQ(){return new A.f2(this,new A.a5(new A.k($.j,t.D),t.h),new A.bj())}, +cR(){return this.aS(this)}} +A.m4.prototype={ +$0(){return this.hz(this.c)}, +hz(a){var s=0,r=A.o(a),q,p=this +var $async$$0=A.p(function(b,c){if(b===1)return A.l(c,r) +while(true)switch(s){case 0:if(p.a)A.ps() +s=3 +return A.c(p.b.$0(),$async$$0) +case 3:q=c +s=1 +break +case 1:return A.m(q,r)}}) +return A.n($async$$0,r)}, +$S(){return this.c.h("D<0>()")}} +A.m9.prototype={ +$0(){var s=this.a,r=this.b,q=this.c +s.cz(r,q) +return s.gaJ().ad(r,q)}, +$S:42} +A.m7.prototype={ +$0(){var s=this.a,r=this.b,q=this.c +s.cz(r,q) +return s.gaJ().da(r,q)}, +$S:22} +A.m8.prototype={ +$0(){var s=this.a,r=this.b,q=this.c +s.cz(r,q) +return s.gaJ().az(r,q)}, +$S:22} +A.m6.prototype={ +$0(){var s,r,q=this.b +if(q==null)q=B.t +s=this.a +r=this.c +s.cz(r,q) +return s.gaJ().a8(r,q)}, +$S:2} +A.m5.prototype={ +$0(){var s=this.a +s.gc6() +return s.gaJ().aw(this.b)}, +$S:2} +A.iL.prototype={ +i5(){this.c=!0 +if(this.d)throw A.a(A.C("A transaction was used after being closed. Please check that you're awaiting all database operations inside a `transaction` block."))}, +aS(a){throw A.a(A.a4("Nested transactions aren't supported."))}, +gap(){return B.m}, +gc6(){return!1}, +gez(){return!0}, +$ihN:1} +A.fj.prototype={ +aq(a){var s,r,q=this +q.i5() +s=q.z +if(s==null){s=q.z=new A.a5(new A.k($.j,t.k),t.co) +r=q.as;++r.b +r.fL(new A.nC(q),!1,t.P).ak(new A.nD(r))}return s.a}, +gaJ(){return this.e.e}, +aS(a){var s=this.at+1 +return new A.fj(this.y,new A.a5(new A.k($.j,t.D),t.h),a,s,A.rz(s),A.rx(s),A.ry(s),this.e,new A.bj())}, +bi(){var s=0,r=A.o(t.H),q,p=this +var $async$bi=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:if(!p.c){s=1 +break}s=3 +return A.c(p.a8(p.ay,B.t),$async$bi) +case 3:p.e2() +case 1:return A.m(q,r)}}) +return A.n($async$bi,r)}, +bF(){var s=0,r=A.o(t.H),q,p=2,o,n=[],m=this +var $async$bF=A.p(function(a,b){if(a===1){o=b +s=p}while(true)switch(s){case 0:if(!m.c){s=1 +break}p=3 +s=6 +return A.c(m.a8(m.ch,B.t),$async$bF) +case 6:n.push(5) +s=4 +break +case 3:n=[2] +case 4:p=2 +m.e2() +s=n.pop() +break +case 5:case 1:return A.m(q,r) +case 2:return A.l(o,r)}}) +return A.n($async$bF,r)}, +e2(){var s=this +if(s.at===0)s.e.e.a=!1 +s.Q.aU() +s.d=!0}} +A.nC.prototype={ +$0(){var s=0,r=A.o(t.P),q=1,p,o=this,n,m,l,k,j +var $async$$0=A.p(function(a,b){if(a===1){p=b +s=q}while(true)switch(s){case 0:q=3 +A.ps() +l=o.a +s=6 +return A.c(l.kL(l.ax),$async$$0) +case 6:l.e.e.a=!0 +l.z.P(!0) +q=1 +s=5 +break +case 3:q=2 +j=p +n=A.F(j) +m=A.S(j) +l=o.a +l.z.bz(n,m) +l.e2() +s=5 +break +case 2:s=1 +break +case 5:s=7 +return A.c(o.a.Q.a,$async$$0) +case 7:return A.m(null,r) +case 1:return A.l(p,r)}}) +return A.n($async$$0,r)}, +$S:20} +A.nD.prototype={ +$0(){return this.a.b--}, +$S:45} +A.fZ.prototype={ +gaJ(){return this.e}, +gap(){return B.m}, +aq(a){return this.x.cr(new A.jH(this,a),t.y)}, +bt(a){return this.j9(a)}, +j9(a){var s=0,r=A.o(t.H),q=this,p,o,n,m +var $async$bt=A.p(function(b,c){if(b===1)return A.l(c,r) +while(true)switch(s){case 0:n=q.e +m=n.y +m===$&&A.H() +p=a.c +s=m instanceof A.hu?2:4 +break +case 2:o=p +s=3 +break +case 4:s=m instanceof A.fh?5:7 +break +case 5:s=8 +return A.c(A.b8(m.a.gkU(),t.S),$async$bt) +case 8:o=c +s=6 +break +case 7:throw A.a(A.jT("Invalid delegate: "+n.j(0)+". The versionDelegate getter must not subclass DBVersionDelegate directly")) +case 6:case 3:if(o===0)o=null +s=9 +return A.c(a.cP(new A.i9(q,new A.bj()),new A.eA(o,p)),$async$bt) +case 9:s=m instanceof A.fh&&o!==p?10:11 +break +case 10:m.a.h5("PRAGMA user_version = "+p+";") +s=12 +return A.c(A.b8(null,t.H),$async$bt) +case 12:case 11:return A.m(null,r)}}) +return A.n($async$bt,r)}, +aS(a){var s=$.j +return new A.fj(B.az,new A.a5(new A.k(s,t.D),t.h),a,0,"BEGIN TRANSACTION","COMMIT TRANSACTION","ROLLBACK TRANSACTION",this,new A.bj())}, +p(){return this.x.cr(new A.jG(this),t.H)}, +gc6(){return this.r}, +gez(){return this.w}} +A.jH.prototype={ +$0(){var s=0,r=A.o(t.y),q,p=2,o,n=this,m,l,k,j,i,h,g,f,e +var $async$$0=A.p(function(a,b){if(a===1){o=b +s=p}while(true)switch(s){case 0:f=n.a +if(f.d){q=A.q6(new A.b2("Can't re-open a database after closing it. Please create a new database connection and open that instead."),null,t.y) +s=1 +break}k=f.f +if(k!=null)A.q2(k.a,k.b) +j=f.e +i=t.y +h=A.b8(j.d,i) +s=3 +return A.c(t.bF.b(h)?h:A.f4(h,i),$async$$0) +case 3:if(b){q=f.c=!0 +s=1 +break}i=n.b +s=4 +return A.c(j.ca(i),$async$$0) +case 4:f.c=!0 +p=6 +s=9 +return A.c(f.bt(i),$async$$0) +case 9:q=!0 +s=1 +break +p=2 +s=8 +break +case 6:p=5 +e=o +m=A.F(e) +l=A.S(e) +f.f=new A.ai(m,l) +throw e +s=8 +break +case 5:s=2 +break +case 8:case 1:return A.m(q,r) +case 2:return A.l(o,r)}}) +return A.n($async$$0,r)}, +$S:46} +A.jG.prototype={ +$0(){var s=this.a +if(s.c&&!s.d){s.d=!0 +s.c=!1 +return s.e.p()}else return A.b8(null,t.H)}, +$S:2} +A.i9.prototype={ +aS(a){return this.e.aS(a)}, +aq(a){this.c=!0 +return A.b8(!0,t.y)}, +gaJ(){return this.e.e}, +gc6(){return!1}, +gap(){return B.m}} +A.f2.prototype={ +gap(){return this.e.gap()}, +aq(a){var s,r,q,p=this,o=p.f +if(o!=null)return o.a +else{p.c=!0 +s=new A.k($.j,t.k) +r=new A.a5(s,t.co) +p.f=r +q=p.e;++q.b +q.bw(new A.ms(p,r),t.P) +return s}}, +gaJ(){return this.e.gaJ()}, +aS(a){return this.e.aS(a)}, +p(){this.r.aU() +return A.b8(null,t.H)}} +A.ms.prototype={ +$0(){var s=0,r=A.o(t.P),q=this,p +var $async$$0=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:q.b.P(!0) +p=q.a +s=2 +return A.c(p.r.a,$async$$0) +case 2:--p.e.b +return A.m(null,r)}}) +return A.n($async$$0,r)}, +$S:20} +A.dc.prototype={ +gjL(a){var s=this.b +return new A.E(s,new A.kC(this),A.R(s).h("E<1,ab>"))}} +A.kC.prototype={ +$1(a){var s,r,q,p,o,n,m,l=A.a3(t.N,t.z) +for(s=this.a,r=s.a,q=r.length,s=s.c,p=J.Z(a),o=0;o")).gG(0)).a7() +q.q(0,a,s)}return new A.ai(s,A.h(A.r(o.call(null,r)))===0)}} +A.fh.prototype={} +A.kx.prototype={ +jW(){var s,r,q,p,o,n +for(s=this.b,r=s.gaM(),q=A.t(r),r=new A.b0(J.M(r.a),r.b,q.h("b0<1,2>")),q=q.y[1];r.k();){p=r.a +if(p==null)p=q.a(p) +o=p.c +if(!o.d){n=$.e3().a +if(n!=null)n.unregister(p) +if(!o.d){o.d=!0 +if(!o.c){n=o.b +A.h(A.r(n.c.id.call(null,n.b))) +o.c=!0}n=o.b +n.b8() +A.h(A.r(n.c.to.call(null,n.b)))}p=p.b +if(!p.r)B.c.A(p.c.d,o)}}s.c1(0)}} +A.jS.prototype={ +$1(a){return Date.now()}, +$S:48} +A.oc.prototype={ +$1(a){var s=a.i(0,0) +if(typeof s=="number")return this.a.$1(s) +else return null}, +$S:37} +A.hk.prototype={ +gii(){var s=this.a +s===$&&A.H() +return s}, +gap(){if(this.b){var s=this.a +s===$&&A.H() +s=B.m!==s.gap()}else s=!1 +if(s)throw A.a(A.jT("LazyDatabase created with "+B.m.j(0)+", but underlying database is "+this.gii().gap().j(0)+".")) +return B.m}, +i1(){var s,r,q=this +if(q.b)return A.b8(null,t.H) +else{s=q.d +if(s!=null)return s.a +else{s=new A.k($.j,t.D) +r=q.d=new A.a5(s,t.h) +A.k3(q.e,t.x).bI(new A.kk(q,r),r.gjR(),t.P) +return s}}}, +cQ(){var s=this.a +s===$&&A.H() +return s.cQ()}, +cR(){var s=this.a +s===$&&A.H() +return s.cR()}, +aq(a){return this.i1().bH(new A.kl(this,a),t.y)}, +aw(a){var s=this.a +s===$&&A.H() +return s.aw(a)}, +a8(a,b){var s=this.a +s===$&&A.H() +return s.a8(a,b)}, +cf(a,b){var s=this.a +s===$&&A.H() +return s.cf(a,b)}, +az(a,b){var s=this.a +s===$&&A.H() +return s.az(a,b)}, +ad(a,b){var s=this.a +s===$&&A.H() +return s.ad(a,b)}, +p(){var s=0,r=A.o(t.H),q,p=this,o,n +var $async$p=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:s=p.b?3:5 +break +case 3:o=p.a +o===$&&A.H() +s=6 +return A.c(o.p(),$async$p) +case 6:q=b +s=1 +break +s=4 +break +case 5:n=p.d +s=n!=null?7:8 +break +case 7:s=9 +return A.c(n.a,$async$p) +case 9:o=p.a +o===$&&A.H() +s=10 +return A.c(o.p(),$async$p) +case 10:case 8:case 4:case 1:return A.m(q,r)}}) +return A.n($async$p,r)}} +A.kk.prototype={ +$1(a){var s=this.a +s.a!==$&&A.pG() +s.a=a +s.b=!0 +this.b.aU()}, +$S:50} +A.kl.prototype={ +$1(a){var s=this.a.a +s===$&&A.H() +return s.aq(this.b)}, +$S:51} +A.bj.prototype={ +cr(a,b){var s=this.a,r=new A.k($.j,t.D) +this.a=r +r=new A.ko(this,a,new A.a5(r,t.h),r,b) +if(s!=null)return s.bH(new A.kq(r,b),b) +else return r.$0()}} +A.ko.prototype={ +$0(){var s=this +return A.k3(s.b,s.e).ak(new A.kp(s.a,s.c,s.d))}, +$S(){return this.e.h("D<0>()")}} +A.kp.prototype={ +$0(){this.b.aU() +var s=this.a +if(s.a===this.c)s.a=null}, +$S:6} +A.kq.prototype={ +$1(a){return this.a.$0()}, +$S(){return this.b.h("D<0>(~)")}} +A.lM.prototype={ +$1(a){var s,r=this,q=a.data +if(r.a&&J.a6(q,"_disconnect")){s=r.b.a +s===$&&A.H() +s=s.a +s===$&&A.H() +s.p()}else{s=r.b.a +if(r.c){s===$&&A.H() +s=s.a +s===$&&A.H() +s.v(0,r.d.ej(t.c.a(q)))}else{s===$&&A.H() +s=s.a +s===$&&A.H() +s.v(0,A.rT(q))}}}, +$S:10} +A.lN.prototype={ +$1(a){var s=this.c +if(this.a)s.postMessage(this.b.dl(t.fJ.a(a))) +else s.postMessage(A.xC(a))}, +$S:8} +A.lO.prototype={ +$0(){if(this.a)this.b.postMessage("_disconnect") +this.b.close()}, +$S:0} +A.jD.prototype={ +T(){A.aE(this.a,"message",new A.jF(this),!1)}, +al(a){return this.iA(a)}, +iA(a6){var s=0,r=A.o(t.H),q=1,p,o=this,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5 +var $async$al=A.p(function(a7,a8){if(a7===1){p=a8 +s=q}while(true)switch(s){case 0:a3={} +k=a6 instanceof A.dg +j=k?a6.a:null +s=k?3:4 +break +case 3:a3.a=a3.b=!1 +s=5 +return A.c(o.b.cr(new A.jE(a3,o),t.P),$async$al) +case 5:i=o.c.a.i(0,j) +h=A.d([],t.L) +g=!1 +s=a3.b?6:7 +break +case 6:a5=J +s=8 +return A.c(A.e1(),$async$al) +case 8:k=a5.M(a8) +case 9:if(!k.k()){s=10 +break}f=k.gm() +h.push(new A.ai(B.G,f)) +if(f===j)g=!0 +s=9 +break +case 10:case 7:s=i!=null?11:13 +break +case 11:k=i.a +e=k===B.w||k===B.F +g=k===B.ak||k===B.al +s=12 +break +case 13:a5=a3.a +if(a5){s=14 +break}else a8=a5 +s=15 +break +case 14:s=16 +return A.c(A.e_(j),$async$al) +case 16:case 15:e=a8 +case 12:k=t.m.a(self) +d="Worker" in k +f=a3.b +c=a3.a +new A.eg(d,f,"SharedArrayBuffer" in k,c,h,B.v,e,g).dj(o.a) +s=2 +break +case 4:if(a6 instanceof A.di){o.c.eT(a6) +s=2 +break}k=a6 instanceof A.eI +b=k?a6.a:null +s=k?17:18 +break +case 17:s=19 +return A.c(A.hX(b),$async$al) +case 19:a=a8 +o.a.postMessage(!0) +s=20 +return A.c(a.T(),$async$al) +case 20:s=2 +break +case 18:n=null +m=null +a0=a6 instanceof A.h_ +if(a0){a1=a6.a +n=a1.a +m=a1.b}s=a0?21:22 +break +case 21:q=24 +case 27:switch(n){case B.am:s=29 +break +case B.G:s=30 +break +default:s=28 +break}break +case 29:s=31 +return A.c(A.oi(m),$async$al) +case 31:s=28 +break +case 30:s=32 +return A.c(A.fA(m),$async$al) +case 32:s=28 +break +case 28:a6.dj(o.a) +q=1 +s=26 +break +case 24:q=23 +a4=p +l=A.F(a4) +new A.dt(J.aW(l)).dj(o.a) +s=26 +break +case 23:s=1 +break +case 26:s=2 +break +case 22:s=2 +break +case 2:return A.m(null,r) +case 1:return A.l(p,r)}}) +return A.n($async$al,r)}} +A.jF.prototype={ +$1(a){this.a.al(A.p0(t.m.a(a.data)))}, +$S:1} +A.jE.prototype={ +$0(){var s=0,r=A.o(t.P),q=this,p,o,n,m,l +var $async$$0=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:o=q.b +n=o.d +m=q.a +s=n!=null?2:4 +break +case 2:m.b=n.b +m.a=n.a +s=3 +break +case 4:l=m +s=5 +return A.c(A.cT(),$async$$0) +case 5:l.b=b +s=6 +return A.c(A.iW(),$async$$0) +case 6:p=b +m.a=p +o.d=new A.ly(p,m.b) +case 3:return A.m(null,r)}}) +return A.n($async$$0,r)}, +$S:20} +A.cA.prototype={ +ag(){return"ProtocolVersion."+this.b}} +A.lA.prototype={ +dk(a){this.aC(new A.lD(a))}, +eS(a){this.aC(new A.lC(a))}, +dj(a){this.aC(new A.lB(a))}} +A.lD.prototype={ +$2(a,b){var s=b==null?B.B:b +this.a.postMessage(a,s)}, +$S:19} +A.lC.prototype={ +$2(a,b){var s=b==null?B.B:b +this.a.postMessage(a,s)}, +$S:19} +A.lB.prototype={ +$2(a,b){var s=b==null?B.B:b +this.a.postMessage(a,s)}, +$S:19} +A.jj.prototype={} +A.c8.prototype={ +aC(a){var s=this +A.dT(a,"SharedWorkerCompatibilityResult",A.d([s.e,s.f,s.r,s.c,s.d,A.q0(s.a),s.b.c],t.f),null)}} +A.l_.prototype={ +$1(a){return A.bo(J.aH(this.a,a))}, +$S:55} +A.dt.prototype={ +aC(a){A.dT(a,"Error",this.a,null)}, +j(a){return"Error in worker: "+this.a}, +$ia7:1} +A.di.prototype={ +aC(a){var s,r,q=this,p={} +p.sqlite=q.a.j(0) +s=q.b +p.port=s +p.storage=q.c.b +p.database=q.d +r=q.e +p.initPort=r +p.migrations=q.r +p.new_serialization=q.w +p.v=q.f.c +s=A.d([s],t.W) +if(r!=null)s.push(r) +A.dT(a,"ServeDriftDatabase",p,s)}} +A.dg.prototype={ +aC(a){A.dT(a,"RequestCompatibilityCheck",this.a,null)}} +A.eg.prototype={ +aC(a){var s=this,r={} +r.supportsNestedWorkers=s.e +r.canAccessOpfs=s.f +r.supportsIndexedDb=s.w +r.supportsSharedArrayBuffers=s.r +r.indexedDbExists=s.c +r.opfsExists=s.d +r.existing=A.q0(s.a) +r.v=s.b.c +A.dT(a,"DedicatedWorkerCompatibilityResult",r,null)}} +A.eI.prototype={ +aC(a){A.dT(a,"StartFileSystemServer",this.a,null)}} +A.h_.prototype={ +aC(a){var s=this.a +A.dT(a,"DeleteDatabase",A.d([s.a.b,s.b],t.s),null)}} +A.of.prototype={ +$1(a){this.b.transaction.abort() +this.a.a=!1}, +$S:10} +A.ou.prototype={ +$1(a){return t.m.a(a[1])}, +$S:56} +A.h2.prototype={ +eT(a){var s=a.f.c,r=a.w +this.a.hk(a.d,new A.jQ(this,a)).hB(A.vb(a.b,s>=1,s,r),!r)}, +aX(a,b,c,d,e){return this.kx(a,b,c,d,e)}, +kx(a,b,c,d,a0){var s=0,r=A.o(t.x),q,p=this,o,n,m,l,k,j,i,h,g,f,e +var $async$aX=A.p(function(a1,a2){if(a1===1)return A.l(a2,r) +while(true)switch(s){case 0:s=3 +return A.c(A.lI(d),$async$aX) +case 3:f=a2 +e=null +case 4:switch(a0.a){case 0:s=6 +break +case 1:s=7 +break +case 3:s=8 +break +case 2:s=9 +break +case 4:s=10 +break +default:s=11 +break}break +case 6:s=12 +return A.c(A.l1("drift_db/"+a),$async$aX) +case 12:o=a2 +e=o.gb7() +s=5 +break +case 7:s=13 +return A.c(p.cw(a),$async$aX) +case 13:o=a2 +e=o.gb7() +s=5 +break +case 8:case 9:s=14 +return A.c(A.hd(a),$async$aX) +case 14:o=a2 +e=o.gb7() +s=5 +break +case 10:o=A.oM(null) +s=5 +break +case 11:o=null +case 5:s=c!=null&&o.ck("/database",0)===0?15:16 +break +case 15:n=c.$0() +s=17 +return A.c(t.eY.b(n)?n:A.f4(n,t.aD),$async$aX) +case 17:m=a2 +if(m!=null){l=o.aY(new A.eG("/database"),4).a +l.bh(m,0) +l.cl()}case 16:n=f.a +n=n.b +k=n.c0(B.i.a5(o.a),1) +j=n.c.e +i=j.a +j.q(0,i,o) +h=A.h(A.r(n.y.call(null,k,i,1))) +if(h===0)A.B(A.C("could not register vfs")) +n=$.t9() +n.a.set(o,h) +n=A.uF(t.N,t.eT) +g=new A.hZ(new A.nW(f,"/database",null,p.b,!0,b,new A.kx(n)),!1,!0,new A.bj(),new A.bj()) +if(e!=null){q=A.u7(g,new A.mh(e,g)) +s=1 +break}else{q=g +s=1 +break}case 1:return A.m(q,r)}}) +return A.n($async$aX,r)}, +cw(a){return this.iH(a)}, +iH(a){var s=0,r=A.o(t.aT),q,p,o,n,m,l,k,j,i +var $async$cw=A.p(function(b,c){if(b===1)return A.l(c,r) +while(true)switch(s){case 0:k=self +j=new k.SharedArrayBuffer(8) +i=k.Int32Array +i=t.ha.a(A.dZ(i,[j])) +k.Atomics.store(i,0,-1) +i={clientVersion:1,root:"drift_db/"+a,synchronizationBuffer:j,communicationBuffer:new k.SharedArrayBuffer(67584)} +p=new k.Worker(A.eN().j(0)) +new A.eI(i).dk(p) +s=3 +return A.c(new A.f1(p,"message",!1,t.fF).gG(0),$async$cw) +case 3:o=A.qx(i.synchronizationBuffer) +i=i.communicationBuffer +n=A.qA(i,65536,2048) +k=k.Uint8Array +k=t.Z.a(A.dZ(k,[i])) +m=A.jt("/",$.cW()) +l=$.fD() +q=new A.ds(o,new A.bk(i,n,k),m,l,"dart-sqlite3-vfs") +s=1 +break +case 1:return A.m(q,r)}}) +return A.n($async$cw,r)}} +A.jQ.prototype={ +$0(){var s=this.b,r=s.e,q=r!=null?new A.jN(r):null,p=this.a,o=A.uX(new A.hk(new A.jO(p,s,q)),!1,!0),n=new A.k($.j,t.D),m=new A.dh(s.c,o,new A.aa(n,t.F)) +n.ak(new A.jP(p,s,m)) +return m}, +$S:57} +A.jN.prototype={ +$0(){var s=new A.k($.j,t.fX),r=this.a +r.postMessage(!0) +r.onmessage=A.aV(new A.jM(new A.a5(s,t.fu))) +return s}, +$S:58} +A.jM.prototype={ +$1(a){var s=t.dE.a(a.data),r=s==null?null:s +this.a.P(r)}, +$S:10} +A.jO.prototype={ +$0(){var s=this.b +return this.a.aX(s.d,s.r,this.c,s.a,s.c)}, +$S:59} +A.jP.prototype={ +$0(){this.a.a.A(0,this.b.d) +this.c.b.hE()}, +$S:6} +A.mh.prototype={ +c2(a){return this.jP(a)}, +jP(a){var s=0,r=A.o(t.H),q=this,p +var $async$c2=A.p(function(b,c){if(b===1)return A.l(c,r) +while(true)switch(s){case 0:s=2 +return A.c(a.p(),$async$c2) +case 2:s=q.b===a?3:4 +break +case 3:p=q.a.$0() +s=5 +return A.c(p instanceof A.k?p:A.f4(p,t.H),$async$c2) +case 5:case 4:return A.m(null,r)}}) +return A.n($async$c2,r)}} +A.dh.prototype={ +hB(a,b){var s,r,q;++this.c +s=t.X +s=A.vw(new A.kK(this),s,s).gjN().$1(a.ghK()) +r=a.$ti +q=new A.eb(r.h("eb<1>")) +q.b=new A.eW(q,a.ghF()) +q.a=new A.eX(s,q,r.h("eX<1>")) +this.b.hC(q,b)}} +A.kK.prototype={ +$1(a){var s=this.a +if(--s.c===0)s.d.aU() +s=a.a +if((s.e&2)!==0)A.B(A.C("Stream is already closed")) +s.eW()}, +$S:60} +A.ly.prototype={} +A.jn.prototype={ +$1(a){this.a.P(this.c.a(this.b.result))}, +$S:1} +A.jo.prototype={ +$1(a){var s=this.b.error +if(s==null)s=a +this.a.aI(s)}, +$S:1} +A.jp.prototype={ +$1(a){var s=this.b.error +if(s==null)s=a +this.a.aI(s)}, +$S:1} +A.kU.prototype={ +T(){A.aE(this.a,"connect",new A.kZ(this),!1)}, +dW(a){return this.iK(a)}, +iK(a){var s=0,r=A.o(t.H),q=this,p,o +var $async$dW=A.p(function(b,c){if(b===1)return A.l(c,r) +while(true)switch(s){case 0:p=a.ports +o=J.aH(t.cl.b(p)?p:new A.aj(p,A.R(p).h("aj<1,A>")),0) +o.start() +A.aE(o,"message",new A.kV(q,o),!1) +return A.m(null,r)}}) +return A.n($async$dW,r)}, +cA(a,b){return this.iI(a,b)}, +iI(a,b){var s=0,r=A.o(t.H),q=1,p,o=this,n,m,l,k,j,i,h,g +var $async$cA=A.p(function(c,d){if(c===1){p=d +s=q}while(true)switch(s){case 0:q=3 +n=A.p0(t.m.a(b.data)) +m=n +l=null +i=m instanceof A.dg +if(i)l=m.a +s=i?7:8 +break +case 7:s=9 +return A.c(o.bW(l),$async$cA) +case 9:k=d +k.eS(a) +s=6 +break +case 8:if(m instanceof A.di&&B.w===m.c){o.c.eT(n) +s=6 +break}if(m instanceof A.di){i=o.b +i.toString +n.dk(i) +s=6 +break}i=A.K("Unknown message",null) +throw A.a(i) +case 6:q=1 +s=5 +break +case 3:q=2 +g=p +j=A.F(g) +new A.dt(J.aW(j)).eS(a) +a.close() +s=5 +break +case 2:s=1 +break +case 5:return A.m(null,r) +case 1:return A.l(p,r)}}) +return A.n($async$cA,r)}, +bW(a){return this.jn(a)}, +jn(a){var s=0,r=A.o(t.fM),q,p=this,o,n,m,l,k,j,i,h,g,f,e,d,c +var $async$bW=A.p(function(b,a0){if(b===1)return A.l(a0,r) +while(true)switch(s){case 0:l={} +k=t.m.a(self) +j="Worker" in k +s=3 +return A.c(A.iW(),$async$bW) +case 3:i=a0 +s=!j?4:6 +break +case 4:l=p.c.a.i(0,a) +if(l==null)o=null +else{l=l.a +l=l===B.w||l===B.F +o=l}h=A +g=!1 +f=!1 +e=i +d=B.C +c=B.v +s=o==null?7:9 +break +case 7:s=10 +return A.c(A.e_(a),$async$bW) +case 10:s=8 +break +case 9:a0=o +case 8:q=new h.c8(g,f,e,d,c,a0,!1) +s=1 +break +s=5 +break +case 6:n=p.b +if(n==null)n=p.b=new k.Worker(A.eN().j(0)) +new A.dg(a).dk(n) +k=new A.k($.j,t.a9) +l.a=l.b=null +m=new A.kY(l,new A.a5(k,t.bi),i) +l.b=A.aE(n,"message",new A.kW(m),!1) +l.a=A.aE(n,"error",new A.kX(p,m,n),!1) +q=k +s=1 +break +case 5:case 1:return A.m(q,r)}}) +return A.n($async$bW,r)}} +A.kZ.prototype={ +$1(a){return this.a.dW(a)}, +$S:1} +A.kV.prototype={ +$1(a){return this.a.cA(this.b,a)}, +$S:1} +A.kY.prototype={ +$4(a,b,c,d){var s,r=this.b +if((r.a.a&30)===0){r.P(new A.c8(!0,a,this.c,d,B.v,c,b)) +r=this.a +s=r.b +if(s!=null)s.J() +r=r.a +if(r!=null)r.J()}}, +$S:61} +A.kW.prototype={ +$1(a){var s=t.ed.a(A.p0(t.m.a(a.data))) +this.a.$4(s.f,s.d,s.c,s.a)}, +$S:1} +A.kX.prototype={ +$1(a){this.b.$4(!1,!1,!1,B.C) +this.c.terminate() +this.a.b=null}, +$S:1} +A.cd.prototype={ +ag(){return"WasmStorageImplementation."+this.b}} +A.bL.prototype={ +ag(){return"WebStorageApi."+this.b}} +A.hZ.prototype={} +A.nW.prototype={ +ky(){var s=this.Q.ca(this.as) +return s}, +bs(){var s=0,r=A.o(t.H),q +var $async$bs=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:q=A.f4(null,t.H) +s=2 +return A.c(q,$async$bs) +case 2:return A.m(null,r)}}) +return A.n($async$bs,r)}, +bu(a,b){return this.jb(a,b)}, +jb(a,b){var s=0,r=A.o(t.z),q=this +var $async$bu=A.p(function(c,d){if(c===1)return A.l(d,r) +while(true)switch(s){case 0:q.kR(a,b) +s=!q.a?2:3 +break +case 2:s=4 +return A.c(q.bs(),$async$bu) +case 4:case 3:return A.m(null,r)}}) +return A.n($async$bu,r)}, +a8(a,b){return this.kM(a,b)}, +kM(a,b){var s=0,r=A.o(t.H),q=this +var $async$a8=A.p(function(c,d){if(c===1)return A.l(d,r) +while(true)switch(s){case 0:s=2 +return A.c(q.bu(a,b),$async$a8) +case 2:return A.m(null,r)}}) +return A.n($async$a8,r)}, +az(a,b){return this.kN(a,b)}, +kN(a,b){var s=0,r=A.o(t.S),q,p=this,o,n +var $async$az=A.p(function(c,d){if(c===1)return A.l(d,r) +while(true)switch(s){case 0:s=3 +return A.c(p.bu(a,b),$async$az) +case 3:o=p.b.b +n=t.b.a(o.a.x2.call(null,o.b)) +q=A.h(self.Number(n)) +s=1 +break +case 1:return A.m(q,r)}}) +return A.n($async$az,r)}, +da(a,b){return this.kQ(a,b)}, +kQ(a,b){var s=0,r=A.o(t.S),q,p=this,o +var $async$da=A.p(function(c,d){if(c===1)return A.l(d,r) +while(true)switch(s){case 0:s=3 +return A.c(p.bu(a,b),$async$da) +case 3:o=p.b.b +q=A.h(A.r(o.a.x1.call(null,o.b))) +s=1 +break +case 1:return A.m(q,r)}}) +return A.n($async$da,r)}, +aw(a){return this.kK(a)}, +kK(a){var s=0,r=A.o(t.H),q=this +var $async$aw=A.p(function(b,c){if(b===1)return A.l(c,r) +while(true)switch(s){case 0:q.kJ(a) +s=!q.a?2:3 +break +case 2:s=4 +return A.c(q.bs(),$async$aw) +case 4:case 3:return A.m(null,r)}}) +return A.n($async$aw,r)}, +p(){var s=0,r=A.o(t.H),q=this +var $async$p=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:s=2 +return A.c(q.hO(),$async$p) +case 2:q.b.a7() +s=3 +return A.c(q.bs(),$async$p) +case 3:return A.m(null,r)}}) +return A.n($async$p,r)}} +A.fW.prototype={ +fT(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var s +A.rO("absolute",A.d([a,b,c,d,e,f,g,h,i,j,k,l,m,n,o],t.d4)) +s=this.a +s=s.S(a)>0&&!s.ab(a) +if(s)return a +s=this.b +return this.hc(0,s==null?A.pv():s,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o)}, +aG(a){var s=null +return this.fT(a,s,s,s,s,s,s,s,s,s,s,s,s,s,s)}, +hc(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){var s=A.d([b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q],t.d4) +A.rO("join",s) +return this.kr(new A.eQ(s,t.eJ))}, +kq(a,b,c){var s=null +return this.hc(0,b,c,s,s,s,s,s,s,s,s,s,s,s,s,s,s)}, +kr(a){var s,r,q,p,o,n,m,l,k +for(s=a.gt(0),r=new A.eP(s,new A.ju()),q=this.a,p=!1,o=!1,n="";r.k();){m=s.gm() +if(q.ab(m)&&o){l=A.db(m,q) +k=n.charCodeAt(0)==0?n:n +n=B.a.n(k,0,q.bG(k,!0)) +l.b=n +if(q.c7(n))l.e[0]=q.gbj() +n=""+l.j(0)}else if(q.S(m)>0){o=!q.ab(m) +n=""+m}else{if(!(m.length!==0&&q.eh(m[0])))if(p)n+=q.gbj() +n+=m}p=q.c7(m)}return n.charCodeAt(0)==0?n:n}, +aN(a,b){var s=A.db(b,this.a),r=s.d,q=A.R(r).h("aU<1>") +q=A.aw(new A.aU(r,new A.jv(),q),!0,q.h("f.E")) +s.d=q +r=s.b +if(r!=null)B.c.d_(q,0,r) +return s.d}, +bC(a){var s +if(!this.iJ(a))return a +s=A.db(a,this.a) +s.eE() +return s.j(0)}, +iJ(a){var s,r,q,p,o,n,m,l,k=this.a,j=k.S(a) +if(j!==0){if(k===$.fE())for(s=0;s0)return o.bC(a) +if(m.S(a)<=0||m.ab(a))a=o.aG(a) +if(m.S(a)<=0&&m.S(b)>0)throw A.a(A.qi(n+a+'" from "'+b+'".')) +s=A.db(b,m) +s.eE() +r=A.db(a,m) +r.eE() +q=s.d +if(q.length!==0&&q[0]===".")return r.j(0) +q=s.b +p=r.b +if(q!=p)q=q==null||p==null||!m.eG(q,p) +else q=!1 +if(q)return r.j(0) +while(!0){q=s.d +if(q.length!==0){p=r.d +q=p.length!==0&&m.eG(q[0],p[0])}else q=!1 +if(!q)break +B.c.d8(s.d,0) +B.c.d8(s.e,1) +B.c.d8(r.d,0) +B.c.d8(r.e,1)}q=s.d +p=q.length +if(p!==0&&q[0]==="..")throw A.a(A.qi(n+a+'" from "'+b+'".')) +q=t.N +B.c.ev(r.d,0,A.b_(p,"..",!1,q)) +p=r.e +p[0]="" +B.c.ev(p,1,A.b_(s.d.length,m.gbj(),!1,q)) +m=r.d +q=m.length +if(q===0)return"." +if(q>1&&J.a6(B.c.gC(m),".")){B.c.hm(r.d) +m=r.e +m.pop() +m.pop() +m.push("")}r.b="" +r.hn() +return r.j(0)}, +kG(a){return this.eJ(a,null)}, +iE(a,b){var s,r,q,p,o,n,m,l,k=this +a=a +b=b +r=k.a +q=r.S(a)>0 +p=r.S(b)>0 +if(q&&!p){b=k.aG(b) +if(r.ab(a))a=k.aG(a)}else if(p&&!q){a=k.aG(a) +if(r.ab(b))b=k.aG(b)}else if(p&&q){o=r.ab(b) +n=r.ab(a) +if(o&&!n)b=k.aG(b) +else if(n&&!o)a=k.aG(a)}m=k.iF(a,b) +if(m!==B.n)return m +s=null +try{s=k.eJ(b,a)}catch(l){if(A.F(l) instanceof A.eB)return B.k +else throw l}if(r.S(s)>0)return B.k +if(J.a6(s,"."))return B.X +if(J.a6(s,".."))return B.k +return J.ae(s)>=3&&J.u4(s,"..")&&r.D(J.tX(s,2))?B.k:B.Y}, +iF(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this +if(a===".")a="" +s=e.a +r=s.S(a) +q=s.S(b) +if(r!==q)return B.k +for(p=0;pq.aN(0,s).length?s:r}} +A.ju.prototype={ +$1(a){return a!==""}, +$S:3} +A.jv.prototype={ +$1(a){return a.length!==0}, +$S:3} +A.od.prototype={ +$1(a){return a==null?"null":'"'+a+'"'}, +$S:63} +A.dH.prototype={ +j(a){return this.a}} +A.dI.prototype={ +j(a){return this.a}} +A.kf.prototype={ +hA(a){var s=this.S(a) +if(s>0)return B.a.n(a,0,s) +return this.ab(a)?a[0]:null}, +hl(a){var s,r=null,q=a.length +if(q===0)return A.al(r,r,r,r) +s=A.jt(r,this).aN(0,a) +if(this.D(a.charCodeAt(q-1)))B.c.v(s,"") +return A.al(r,r,s,r)}, +cT(a,b){return a===b}, +eG(a,b){return a===b}} +A.kv.prototype={ +geu(){var s=this.d +if(s.length!==0)s=J.a6(B.c.gC(s),"")||!J.a6(B.c.gC(this.e),"") +else s=!1 +return s}, +hn(){var s,r,q=this +while(!0){s=q.d +if(!(s.length!==0&&J.a6(B.c.gC(s),"")))break +B.c.hm(q.d) +q.e.pop()}s=q.e +r=s.length +if(r!==0)s[r-1]=""}, +eE(){var s,r,q,p,o,n=this,m=A.d([],t.s) +for(s=n.d,r=s.length,q=0,p=0;p0){s=B.a.aV(a,"\\",s+1) +if(s>0)return s}return r}if(r<3)return 0 +if(!A.rZ(a.charCodeAt(0)))return 0 +if(a.charCodeAt(1)!==58)return 0 +r=a.charCodeAt(2) +if(!(r===47||r===92))return 0 +return 3}, +S(a){return this.bG(a,!1)}, +ab(a){return this.S(a)===1}, +d5(a){var s,r +if(a.gZ()!==""&&a.gZ()!=="file")throw A.a(A.K("Uri "+a.j(0)+" must have scheme 'file:'.",null)) +s=a.gac() +if(a.gba()===""){if(s.length>=3&&B.a.u(s,"/")&&A.rU(s,1)!=null)s=B.a.hp(s,"/","")}else s="\\\\"+a.gba()+s +r=A.bc(s,"/","\\") +return A.pk(r,0,r.length,B.j,!1)}, +ec(a){var s,r,q=A.db(a,this),p=q.b +p.toString +if(B.a.u(p,"\\\\")){s=new A.aU(A.d(p.split("\\"),t.s),new A.lZ(),t.U) +B.c.d_(q.d,0,s.gC(0)) +if(q.geu())B.c.v(q.d,"") +return A.al(s.gG(0),null,q.d,"file")}else{if(q.d.length===0||q.geu())B.c.v(q.d,"") +p=q.d +r=q.b +r.toString +r=A.bc(r,"/","") +B.c.d_(p,0,A.bc(r,"\\","")) +return A.al(null,null,q.d,"file")}}, +cT(a,b){var s +if(a===b)return!0 +if(a===47)return b===92 +if(a===92)return b===47 +if((a^b)!==32)return!1 +s=a|32 +return s>=97&&s<=122}, +eG(a,b){var s,r +if(a===b)return!0 +s=a.length +if(s!==b.length)return!1 +for(r=0;r")).ar(0,", ")):s}return p.charCodeAt(0)==0?p:p}, +$ia7:1} +A.l3.prototype={ +$1(a){if(t.p.b(a))return"blob ("+a.length+" bytes)" +else return J.aW(a)}, +$S:64} +A.co.prototype={} +A.kE.prototype={} +A.hI.prototype={} +A.kF.prototype={} +A.kH.prototype={} +A.kG.prototype={} +A.de.prototype={} +A.df.prototype={} +A.h8.prototype={ +a7(){var s,r,q,p,o,n,m +for(s=this.d,r=s.length,q=0;q255)A.B(A.af(e,"functionName","Must not exceed 255 bytes when utf-8 encoded")) +s=new Uint8Array(A.iR(l)) +r=c?526337:2049 +q=m.a +p=q.c0(s,1) +m=A.cR(q.w,"call",[null,m.b,p,a.a,r,q.c.kF(new A.hB(new A.jB(d),n,n))]) +o=A.h(m) +q.e.call(null,p) +if(o!==0)A.iX(this,o,n,n,n)}, +a6(a,b,c,d){return this.h0(a,b,!0,c,d)}, +a7(){var s,r,q,p,o=this +if(o.r)return +$.e3().h2(o) +o.r=!0 +s=o.b +r=s.a +q=r.c +q.r=null +p=s.b +r.Q.call(null,p,-1) +q.w=null +s=r.kd +if(s!=null)s.call(null,p,-1) +q.x=null +s=r.ke +if(s!=null)s.call(null,p,-1) +o.c.a7()}, +h5(a){var s,r,q,p,o=this,n=B.t +if(J.ae(n)===0){if(o.r)A.B(A.C("This database has already been closed")) +r=o.b +q=r.a +s=q.c0(B.i.a5(a),1) +p=A.h(A.cR(q.dx,"call",[null,r.b,s,0,0,0])) +q.e.call(null,s) +if(p!==0)A.iX(o,p,"executing",a,n)}else{s=o.d6(a,!0) +try{s.h6(new A.cw(n))}finally{s.a7()}}}, +iW(a,b,c,a0,a1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=this +if(d.r)A.B(A.C("This database has already been closed")) +s=B.i.a5(a) +r=d.b +q=r.a +p=q.bx(s) +o=q.d +n=A.h(A.r(o.call(null,4))) +o=A.h(A.r(o.call(null,4))) +m=new A.lL(r,p,n,o) +l=A.d([],t.bb) +k=new A.jA(m,l) +for(r=s.length,q=q.b,j=0;j."))}return s}, +du(a){$label0$0:{this.i2(a.a) +break $label0$0}}, +a7(){var s,r=this.c +if(!r.d){$.e3().h2(this) +r.a7() +s=this.b +if(!s.r)B.c.A(s.c.d,r)}}, +eR(a){var s=this +if(s.c.d)A.B(A.C(u.D)) +s.bR() +s.du(a) +return s.jc()}, +h6(a){var s=this +if(s.c.d)A.B(A.C(u.D)) +s.bR() +s.du(a) +s.ff()}} +A.hb.prototype={ +ck(a,b){return this.d.a4(a)?1:0}, +dd(a,b){this.d.A(0,a)}, +de(a){return $.fG().bC("/"+a)}, +aY(a,b){var s,r=a.a +if(r==null)r=A.oL(this.b,"/") +s=this.d +if(!s.a4(r))if((b&4)!==0)s.q(0,r,new A.bI(new Uint8Array(0),0)) +else throw A.a(A.cb(14)) +return new A.cN(new A.ip(this,r,(b&8)!==0),0)}, +dg(a){}} +A.ip.prototype={ +eI(a,b){var s,r=this.a.d.i(0,this.b) +if(r==null||r.b<=b)return 0 +s=Math.min(a.length,r.b-b) +B.e.N(a,0,s,J.cX(B.e.gaT(r.a),0,r.b),b) +return s}, +dc(){return this.d>=2?1:0}, +cl(){if(this.c)this.a.d.A(0,this.b)}, +cm(){return this.a.d.i(0,this.b).b}, +df(a){this.d=a}, +dh(a){}, +cn(a){var s=this.a.d,r=this.b,q=s.i(0,r) +if(q==null){s.q(0,r,new A.bI(new Uint8Array(0),0)) +s.i(0,r).sl(0,a)}else q.sl(0,a)}, +di(a){this.d=a}, +bh(a,b){var s,r=this.a.d,q=this.b,p=r.i(0,q) +if(p==null){p=new A.bI(new Uint8Array(0),0) +r.q(0,q,p)}s=b+a.length +if(s>p.b)p.sl(0,s) +p.af(0,b,s,a)}} +A.jw.prototype={ +i4(){var s,r,q,p,o=A.a3(t.N,t.S) +for(s=this.a,r=s.length,q=0;q")).R(a,b,c,d)}, +aW(a,b,c){return this.R(a,null,b,c)}} +A.j3.prototype={ +$0(){var s,r=this,q=r.c.next(),p=r.a +p.a=q +s=r.d +A.a_(q,t.m).bI(new A.j5(p,r.b,s,r),s.gfU(),t.P)}, +$S:0} +A.j5.prototype={ +$1(a){var s,r,q=this,p=a.done +if(p==null)p=null +s=a.value +r=q.c +if(p===!0){r.p() +q.a.a=null}else{r.v(0,s==null?q.b.$ti.c.a(s):s) +q.a.a=null +p=r.b +if(!((p&1)!==0?(r.gaR().e&4)!==0:(p&2)===0))q.d.$0()}}, +$S:10} +A.j4.prototype={ +$0(){var s,r +if(this.a.a==null){s=this.b +r=s.b +s=!((r&1)!==0?(s.gaR().e&4)!==0:(r&2)===0)}else s=!1 +if(s)this.c.$0()}, +$S:0} +A.cJ.prototype={ +J(){var s=0,r=A.o(t.H),q=this,p +var $async$J=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:p=q.b +if(p!=null)p.J() +p=q.c +if(p!=null)p.J() +q.c=q.b=null +return A.m(null,r)}}) +return A.n($async$J,r)}, +gm(){var s=this.a +return s==null?A.B(A.C("Await moveNext() first")):s}, +k(){var s,r,q=this,p=q.a +if(p!=null)p.continue() +p=new A.k($.j,t.k) +s=new A.aa(p,t.fa) +r=q.d +q.b=A.aE(r,"success",new A.mi(q,s),!1) +q.c=A.aE(r,"error",new A.mj(q,s),!1) +return p}} +A.mi.prototype={ +$1(a){var s,r=this.a +r.J() +s=r.$ti.h("1?").a(r.d.result) +r.a=s +this.b.P(s!=null)}, +$S:1} +A.mj.prototype={ +$1(a){var s=this.a +s.J() +s=s.d.error +if(s==null)s=a +this.b.aI(s)}, +$S:1} +A.jl.prototype={ +$1(a){this.a.P(this.c.a(this.b.result))}, +$S:1} +A.jm.prototype={ +$1(a){var s=this.b.error +if(s==null)s=a +this.a.aI(s)}, +$S:1} +A.jq.prototype={ +$1(a){this.a.P(this.c.a(this.b.result))}, +$S:1} +A.jr.prototype={ +$1(a){var s=this.b.error +if(s==null)s=a +this.a.aI(s)}, +$S:1} +A.js.prototype={ +$1(a){var s=this.b.error +if(s==null)s=a +this.a.aI(s)}, +$S:1} +A.i0.prototype={ +hV(a){var s,r,q,p,o,n,m=self,l=m.Object.keys(a.exports) +l=B.c.gt(l) +s=this.b +r=t.m +q=this.a +p=t.g +for(;l.k();){o=A.a2(l.gm()) +n=a.exports[o] +if(typeof n==="function")q.q(0,o,p.a(n)) +else if(n instanceof m.WebAssembly.Global)s.q(0,o,r.a(n))}}} +A.lG.prototype={ +$2(a,b){var s={} +this.a[a]=s +b.aa(0,new A.lF(s))}, +$S:67} +A.lF.prototype={ +$2(a,b){this.a[a]=b}, +$S:68} +A.i1.prototype={} +A.ds.prototype={ +j8(a,b){var s,r,q=this.e +q.hu(b) +s=this.d.b +r=self +r.Atomics.store(s,1,-1) +r.Atomics.store(s,0,a.a) +A.u8(s,0) +r.Atomics.wait(s,1,-1) +s=r.Atomics.load(s,1) +if(s!==0)throw A.a(A.cb(s)) +return a.d.$1(q)}, +a2(a,b){var s=t.cb +return this.j8(a,b,s,s)}, +ck(a,b){return this.a2(B.I,new A.aS(a,b,0,0)).a}, +dd(a,b){this.a2(B.H,new A.aS(a,b,0,0))}, +de(a){var s=this.r.aG(a) +if($.iZ().iE("/",s)!==B.Y)throw A.a(B.ai) +return s}, +aY(a,b){var s=a.a,r=this.a2(B.T,new A.aS(s==null?A.oL(this.b,"/"):s,b,0,0)) +return new A.cN(new A.i_(this,r.b),r.a)}, +dg(a){this.a2(B.N,new A.T(B.b.I(a.a,1000),0,0))}, +p(){this.a2(B.J,B.h)}} +A.i_.prototype={ +geP(){return 2048}, +eI(a,b){var s,r,q,p,o,n,m,l,k,j=a.length +for(s=this.a,r=this.b,q=s.e.a,p=t.Z,o=0;j>0;){n=Math.min(65536,j) +j-=n +m=s.a2(B.R,new A.T(r,b+o,n)).a +l=self.Uint8Array +k=[q] +k.push(0) +k.push(m) +A.hi(a,"set",p.a(A.dZ(l,k)),o,null,null) +o+=m +if(m0;){o=Math.min(65536,n) +A.hi(r,"set",o===n&&p===0?a:J.cX(B.e.gaT(a),a.byteOffset+p,o),0,null,null) +s.a2(B.M,new A.T(q,b+p,o)) +p+=o +n-=o}}} +A.kJ.prototype={} +A.bk.prototype={ +hu(a){var s,r +if(!(a instanceof A.aY))if(a instanceof A.T){s=this.b +s.$flags&2&&A.z(s,8) +s.setInt32(0,a.a,!1) +s.setInt32(4,a.b,!1) +s.setInt32(8,a.c,!1) +if(a instanceof A.aS){r=B.i.a5(a.d) +s.setInt32(12,r.length,!1) +B.e.b_(this.c,16,r)}}else throw A.a(A.a4("Message "+a.j(0)))}} +A.ad.prototype={ +ag(){return"WorkerOperation."+this.b}, +kE(a){return this.c.$1(a)}} +A.by.prototype={} +A.aY.prototype={} +A.T.prototype={} +A.aS.prototype={} +A.iA.prototype={} +A.eO.prototype={ +bS(a,b){return this.j5(a,b)}, +fD(a){return this.bS(a,!1)}, +j5(a,b){var s=0,r=A.o(t.eg),q,p=this,o,n,m,l,k,j,i,h,g +var $async$bS=A.p(function(c,d){if(c===1)return A.l(d,r) +while(true)switch(s){case 0:j=$.fG() +i=j.eJ(a,"/") +h=j.aN(0,i) +g=h.length +j=g>=1 +o=null +if(j){n=g-1 +m=B.c.a0(h,0,n) +o=h[n]}else m=null +if(!j)throw A.a(A.C("Pattern matching error")) +l=p.c +j=m.length,n=t.m,k=0 +case 3:if(!(k") +l=A.aw(new A.b9(j,m),!0,m.h("f.E")) +B.c.hH(l) +s=3 +return A.c(A.oK(new A.E(l,new A.j7(new A.j8(o,a),b),A.R(l).h("E<1,D<~>>")),t.H),$async$b6) +case 3:s=b.c!==n.length?4:5 +break +case 4:k=new A.cJ(p.objectStore("files").openCursor(a),t.V) +s=6 +return A.c(k.k(),$async$b6) +case 6:s=7 +return A.c(A.bg(k.gm().update({name:n.name,length:b.c}),t.X),$async$b6) +case 7:case 5:return A.m(null,r)}}) +return A.n($async$b6,r)}, +bg(a,b,c){return this.kT(0,b,c)}, +kT(a,b,c){var s=0,r=A.o(t.H),q=this,p,o,n,m,l,k +var $async$bg=A.p(function(d,e){if(d===1)return A.l(e,r) +while(true)switch(s){case 0:k=q.a +k.toString +p=k.transaction($.oA(),"readwrite") +o=p.objectStore("files") +n=p.objectStore("blocks") +s=2 +return A.c(q.e1(p,b),$async$bg) +case 2:m=e +s=m.length>c?3:4 +break +case 3:s=5 +return A.c(A.bg(n.delete(q.iY(b,B.b.I(c,4096)*4096+1)),t.X),$async$bg) +case 5:case 4:l=new A.cJ(o.openCursor(b),t.V) +s=6 +return A.c(l.k(),$async$bg) +case 6:s=7 +return A.c(A.bg(l.gm().update({name:m.name,length:c}),t.X),$async$bg) +case 7:return A.m(null,r)}}) +return A.n($async$bg,r)}, +cW(a){return this.jU(a)}, +jU(a){var s=0,r=A.o(t.H),q=this,p,o,n +var $async$cW=A.p(function(b,c){if(b===1)return A.l(c,r) +while(true)switch(s){case 0:n=q.a +n.toString +p=n.transaction(A.d(["files","blocks"],t.s),"readwrite") +o=q.e0(a,9007199254740992,0) +n=t.X +s=2 +return A.c(A.oK(A.d([A.bg(p.objectStore("blocks").delete(o),n),A.bg(p.objectStore("files").delete(a),n)],t.fG),t.H),$async$cW) +case 2:return A.m(null,r)}}) +return A.n($async$cW,r)}} +A.j9.prototype={ +$1(a){var s=t.m.a(this.a.result) +if(J.a6(a.oldVersion,0)){s.createObjectStore("files",{autoIncrement:!0}).createIndex("fileName","name",{unique:!0}) +s.createObjectStore("blocks")}}, +$S:10} +A.j6.prototype={ +$1(a){if(a==null)throw A.a(A.af(this.a,"fileId","File not found in database")) +else return a}, +$S:70} +A.ja.prototype={ +$0(){var s=0,r=A.o(t.H),q=this,p,o +var $async$$0=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:p=q.a +s=A.kg(p.value,"Blob")?2:4 +break +case 2:s=5 +return A.c(A.kI(t.m.a(p.value)),$async$$0) +case 5:s=3 +break +case 4:b=t.o.a(p.value) +case 3:o=b +B.e.b_(q.b,q.c,J.cX(o,0,q.d)) +return A.m(null,r)}}) +return A.n($async$$0,r)}, +$S:2} +A.j8.prototype={ +hw(a,b){var s=0,r=A.o(t.H),q=this,p,o,n,m,l,k +var $async$$2=A.p(function(c,d){if(c===1)return A.l(d,r) +while(true)switch(s){case 0:p=q.a +o=q.b +n=t.n +s=2 +return A.c(A.bg(p.openCursor(self.IDBKeyRange.only(A.d([o,a],n))),t.A),$async$$2) +case 2:m=d +l=t.o.a(B.e.gaT(b)) +k=t.X +s=m==null?3:5 +break +case 3:s=6 +return A.c(A.bg(p.put(l,A.d([o,a],n)),k),$async$$2) +case 6:s=4 +break +case 5:s=7 +return A.c(A.bg(m.update(l),k),$async$$2) +case 7:case 4:return A.m(null,r)}}) +return A.n($async$$2,r)}, +$2(a,b){return this.hw(a,b)}, +$S:71} +A.j7.prototype={ +$1(a){var s=this.b.b.i(0,a) +s.toString +return this.a.$2(a,s)}, +$S:72} +A.mt.prototype={ +jr(a,b,c){B.e.b_(this.b.hk(a,new A.mu(this,a)),b,c)}, +jJ(a,b){var s,r,q,p,o,n,m,l +for(s=b.length,r=0;rp)B.e.b_(s,0,J.cX(B.e.gaT(r),r.byteOffset+p,Math.min(4096,q-p))) +return s}, +$S:73} +A.ix.prototype={} +A.d4.prototype={ +bX(a){var s=this +if(s.e||s.d.a==null)A.B(A.cb(10)) +if(a.ew(s.w)){s.fJ() +return a.d.a}else return A.b8(null,t.H)}, +fJ(){var s,r,q=this +if(q.f==null&&!q.w.gF(0)){s=q.w +r=q.f=s.gG(0) +s.A(0,r) +r.d.P(A.uw(r.gd9(),t.H).ak(new A.ka(q)))}}, +p(){var s=0,r=A.o(t.H),q,p=this,o,n +var $async$p=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:if(!p.e){o=p.bX(new A.dz(p.d.gb7(),new A.aa(new A.k($.j,t.D),t.F))) +p.e=!0 +q=o +s=1 +break}else{n=p.w +if(!n.gF(0)){q=n.gC(0).d.a +s=1 +break}}case 1:return A.m(q,r)}}) +return A.n($async$p,r)}, +br(a){return this.is(a)}, +is(a){var s=0,r=A.o(t.S),q,p=this,o,n +var $async$br=A.p(function(b,c){if(b===1)return A.l(c,r) +while(true)switch(s){case 0:n=p.y +s=n.a4(a)?3:5 +break +case 3:n=n.i(0,a) +n.toString +q=n +s=1 +break +s=4 +break +case 5:s=6 +return A.c(p.d.cX(a),$async$br) +case 6:o=c +o.toString +n.q(0,a,o) +q=o +s=1 +break +case 4:case 1:return A.m(q,r)}}) +return A.n($async$br,r)}, +bQ(){var s=0,r=A.o(t.H),q=this,p,o,n,m,l,k,j,i,h,g +var $async$bQ=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:h=q.d +s=2 +return A.c(h.d3(),$async$bQ) +case 2:g=b +q.y.aH(0,g) +p=g.gel(),p=p.gt(p),o=q.r.d +case 3:if(!p.k()){s=4 +break}n=p.gm() +m=n.a +l=n.b +k=new A.bI(new Uint8Array(0),0) +s=5 +return A.c(h.bE(l),$async$bQ) +case 5:j=b +n=j.length +k.sl(0,n) +i=k.b +if(n>i)A.B(A.W(n,0,i,null,null)) +B.e.N(k.a,0,n,j,0) +o.q(0,m,k) +s=3 +break +case 4:return A.m(null,r)}}) +return A.n($async$bQ,r)}, +ck(a,b){return this.r.d.a4(a)?1:0}, +dd(a,b){var s=this +s.r.d.A(0,a) +if(!s.x.A(0,a))s.bX(new A.dx(s,a,new A.aa(new A.k($.j,t.D),t.F)))}, +de(a){return $.fG().bC("/"+a)}, +aY(a,b){var s,r,q,p=this,o=a.a +if(o==null)o=A.oL(p.b,"/") +s=p.r +r=s.d.a4(o)?1:0 +q=s.aY(new A.eG(o),b) +if(r===0)if((b&8)!==0)p.x.v(0,o) +else p.bX(new A.cI(p,o,new A.aa(new A.k($.j,t.D),t.F))) +return new A.cN(new A.iq(p,q.a,o),0)}, +dg(a){}} +A.ka.prototype={ +$0(){var s=this.a +s.f=null +s.fJ()}, +$S:6} +A.iq.prototype={ +eQ(a,b){this.b.eQ(a,b)}, +geP(){return 0}, +dc(){return this.b.d>=2?1:0}, +cl(){}, +cm(){return this.b.cm()}, +df(a){this.b.d=a +return null}, +dh(a){}, +cn(a){var s=this,r=s.a +if(r.e||r.d.a==null)A.B(A.cb(10)) +s.b.cn(a) +if(!r.x.K(0,s.c))r.bX(new A.dz(new A.mI(s,a),new A.aa(new A.k($.j,t.D),t.F)))}, +di(a){this.b.d=a +return null}, +bh(a,b){var s,r,q,p,o,n,m=this,l=m.a +if(l.e||l.d.a==null)A.B(A.cb(10)) +s=m.c +if(l.x.K(0,s)){m.b.bh(a,b) +return}r=l.r.d.i(0,s) +if(r==null)r=new A.bI(new Uint8Array(0),0) +q=J.cX(B.e.gaT(r.a),0,r.b) +m.b.bh(a,b) +p=new Uint8Array(a.length) +B.e.b_(p,0,a) +o=A.d([],t.gQ) +n=$.j +o.push(new A.ix(b,p)) +l.bX(new A.cQ(l,s,q,o,new A.aa(new A.k(n,t.D),t.F)))}, +$idq:1} +A.mI.prototype={ +$0(){var s=0,r=A.o(t.H),q,p=this,o,n,m +var $async$$0=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:o=p.a +n=o.a +m=n.d +s=3 +return A.c(n.br(o.c),$async$$0) +case 3:q=m.bg(0,b,p.b) +s=1 +break +case 1:return A.m(q,r)}}) +return A.n($async$$0,r)}, +$S:2} +A.aq.prototype={ +ew(a){a.dU(a.c,this,!1) +return!0}} +A.dz.prototype={ +U(){return this.w.$0()}} +A.dx.prototype={ +ew(a){var s,r,q,p +if(!a.gF(0)){s=a.gC(0) +for(r=this.x;s!=null;)if(s instanceof A.dx)if(s.x===r)return!1 +else s=s.gcc() +else if(s instanceof A.cQ){q=s.gcc() +if(s.x===r){p=s.a +p.toString +p.e6(A.t(s).h("aI.E").a(s))}s=q}else if(s instanceof A.cI){if(s.x===r){r=s.a +r.toString +r.e6(A.t(s).h("aI.E").a(s)) +return!1}s=s.gcc()}else break}a.dU(a.c,this,!1) +return!0}, +U(){var s=0,r=A.o(t.H),q=this,p,o,n +var $async$U=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:p=q.w +o=q.x +s=2 +return A.c(p.br(o),$async$U) +case 2:n=b +p.y.A(0,o) +s=3 +return A.c(p.d.cW(n),$async$U) +case 3:return A.m(null,r)}}) +return A.n($async$U,r)}} +A.cI.prototype={ +U(){var s=0,r=A.o(t.H),q=this,p,o,n,m +var $async$U=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:p=q.w +o=q.x +n=p.y +m=o +s=2 +return A.c(p.d.cU(o),$async$U) +case 2:n.q(0,m,b) +return A.m(null,r)}}) +return A.n($async$U,r)}} +A.cQ.prototype={ +ew(a){var s,r=a.b===0?null:a.gC(0) +for(s=this.x;r!=null;)if(r instanceof A.cQ)if(r.x===s){B.c.aH(r.z,this.z) +return!1}else r=r.gcc() +else if(r instanceof A.cI){if(r.x===s)break +r=r.gcc()}else break +a.dU(a.c,this,!1) +return!0}, +U(){var s=0,r=A.o(t.H),q=this,p,o,n,m,l,k +var $async$U=A.p(function(a,b){if(a===1)return A.l(b,r) +while(true)switch(s){case 0:m=q.y +l=new A.mt(m,A.a3(t.S,t.p),m.length) +for(m=q.z,p=m.length,o=0;o")),r=r.y[1];s.k();){q=s.a +if(q==null)q=r.a(q) +q.close()}}} +A.l0.prototype={ +hy(a){var s=0,r=A.o(t.m),q,p=this,o,n +var $async$$1=A.p(function(b,c){if(b===1)return A.l(c,r) +while(true)switch(s){case 0:o=t.m +n=A +s=4 +return A.c(A.a_(p.a.getFileHandle(a,{create:!0}),o),$async$$1) +case 4:s=3 +return A.c(n.a_(c.createSyncAccessHandle(),o),$async$$1) +case 3:q=c +s=1 +break +case 1:return A.m(q,r)}}) +return A.n($async$$1,r)}, +$1(a){return this.hy(a)}, +$S:74} +A.iG.prototype={ +eI(a,b){return A.jU(this.c,a,{at:b})}, +dc(){return this.e>=2?1:0}, +cl(){var s=this +s.c.flush() +if(s.d)s.a.dV(s.b,!1)}, +cm(){return this.c.getSize()}, +df(a){this.e=a}, +dh(a){this.c.flush()}, +cn(a){this.c.truncate(a)}, +di(a){this.e=a}, +bh(a,b){if(A.oJ(this.c,a,{at:b})q.c)throw A.a(A.cb(14)) +s=A.bz(q.d.buffer,0,null) +r=q.e +B.e.b_(s,r,p) +s.$flags&2&&A.z(s) +s[r+o]=0}, +$S:0} +A.nl.prototype={ +$3(a,b,c){return A.aO(new A.mY(this.b,c,b,this.a.d.e.i(0,a)))}, +$S:28} +A.mY.prototype={ +$0(){var s=this,r=A.bz(s.a.buffer,s.b,s.c),q=s.d +if(q!=null)A.pQ(r,q.b) +else return A.pQ(r,null)}, +$S:0} +A.nm.prototype={ +$2(a,b){var s=this.a.d.e.i(0,a) +s.toString +return A.aO(new A.mX(s,b))}, +$S:4} +A.mX.prototype={ +$0(){this.a.dg(A.q_(this.b,0))}, +$S:0} +A.nn.prototype={ +$2(a,b){var s +this.a.d.e.i(0,a).toString +s=Date.now() +s=self.BigInt(s) +A.hi(A.qg(this.b.buffer,0,null),"setBigInt64",b,s,!0,null)}, +$S:79} +A.no.prototype={ +$1(a){return this.a.d.f.i(0,a).geP()}, +$S:13} +A.np.prototype={ +$1(a){var s=this.a,r=s.d.f.i(0,a) +r.toString +return A.aO(new A.mW(s,r,a))}, +$S:13} +A.mW.prototype={ +$0(){this.b.cl() +this.a.d.f.A(0,this.c)}, +$S:0} +A.nq.prototype={ +$4(a,b,c,d){var s=this.a.d.f.i(0,a) +s.toString +return A.aO(new A.mV(s,this.b,b,c,d))}, +$S:30} +A.mV.prototype={ +$0(){var s=this +s.a.eQ(A.bz(s.b.buffer,s.c,s.d),A.h(self.Number(s.e)))}, +$S:0} +A.n1.prototype={ +$4(a,b,c,d){var s=this.a.d.f.i(0,a) +s.toString +return A.aO(new A.mU(s,this.b,b,c,d))}, +$S:30} +A.mU.prototype={ +$0(){var s=this +s.a.bh(A.bz(s.b.buffer,s.c,s.d),A.h(self.Number(s.e)))}, +$S:0} +A.n2.prototype={ +$2(a,b){var s=this.a.d.f.i(0,a) +s.toString +return A.aO(new A.mT(s,b))}, +$S:81} +A.mT.prototype={ +$0(){return this.a.cn(A.h(self.Number(this.b)))}, +$S:0} +A.n3.prototype={ +$2(a,b){var s=this.a.d.f.i(0,a) +s.toString +return A.aO(new A.mS(s,b))}, +$S:4} +A.mS.prototype={ +$0(){return this.a.dh(this.b)}, +$S:0} +A.n4.prototype={ +$2(a,b){var s=this.a.d.f.i(0,a) +s.toString +return A.aO(new A.mR(s,this.b,b))}, +$S:4} +A.mR.prototype={ +$0(){var s=this.a.cm(),r=A.cz(this.b.buffer,0,null),q=B.b.O(this.c,2) +r.$flags&2&&A.z(r) +r[q]=s}, +$S:0} +A.n5.prototype={ +$2(a,b){var s=this.a.d.f.i(0,a) +s.toString +return A.aO(new A.mM(s,b))}, +$S:4} +A.mM.prototype={ +$0(){return this.a.df(this.b)}, +$S:0} +A.n6.prototype={ +$2(a,b){var s=this.a.d.f.i(0,a) +s.toString +return A.aO(new A.mL(s,b))}, +$S:4} +A.mL.prototype={ +$0(){return this.a.di(this.b)}, +$S:0} +A.n7.prototype={ +$2(a,b){var s=this.a.d.f.i(0,a) +s.toString +return A.aO(new A.mK(s,this.b,b))}, +$S:4} +A.mK.prototype={ +$0(){var s=this.a.dc(),r=A.cz(this.b.buffer,0,null),q=B.b.O(this.c,2) +r.$flags&2&&A.z(r) +r[q]=s}, +$S:0} +A.n8.prototype={ +$3(a,b,c){var s=this.a,r=s.a +r===$&&A.H() +r=s.d.b.i(0,A.h(A.r(r.xr.call(null,a)))).a +s=s.a +r.$2(new A.cc(s,a),new A.dr(s,b,c))}, +$S:21} +A.n9.prototype={ +$3(a,b,c){var s=this.a,r=s.a +r===$&&A.H() +r=s.d.b.i(0,A.h(A.r(r.xr.call(null,a)))).b +s=s.a +r.$2(new A.cc(s,a),new A.dr(s,b,c))}, +$S:21} +A.na.prototype={ +$3(a,b,c){var s=this.a,r=s.a +r===$&&A.H() +s.d.b.i(0,A.h(A.r(r.xr.call(null,a)))).toString +s=s.a +null.$2(new A.cc(s,a),new A.dr(s,b,c))}, +$S:21} +A.nc.prototype={ +$1(a){var s=this.a,r=s.a +r===$&&A.H() +s.d.b.i(0,A.h(A.r(r.xr.call(null,a)))).c.$1(new A.cc(s.a,a))}, +$S:12} +A.nd.prototype={ +$1(a){var s=this.a,r=s.a +r===$&&A.H() +s.d.b.i(0,A.h(A.r(r.xr.call(null,a)))).toString +null.$1(new A.cc(s.a,a))}, +$S:12} +A.ne.prototype={ +$1(a){this.a.d.b.A(0,a)}, +$S:12} +A.nf.prototype={ +$5(a,b,c,d,e){var s=this.b,r=A.p1(s,c,b),q=A.p1(s,e,d) +this.a.d.b.i(0,a).toString +return null.$2(r,q)}, +$S:27} +A.ng.prototype={ +$5(a,b,c,d,e){A.ce(this.b,d,null)}, +$S:83} +A.nh.prototype={ +$1(a){return null}, +$S:24} +A.ni.prototype={ +$1(a){}, +$S:12} +A.nj.prototype={ +$2(a,b){var s=new A.ef(A.pZ(A.h(self.Number(a))*1000,0,!1),0,!1),r=A.uM(this.a.buffer,b,8) +r.$flags&2&&A.z(r) +r[0]=A.qp(s) +r[1]=A.qn(s) +r[2]=A.qm(s) +r[3]=A.ql(s) +r[4]=A.qo(s)-1 +r[5]=A.qq(s)-1900 +r[6]=B.b.ae(A.uR(s),7)}, +$S:84} +A.jx.prototype={ +kF(a){var s=this.a++ +this.b.q(0,s,a) +return s}} +A.hB.prototype={} +A.bf.prototype={ +hs(){var s=this.a +return A.qF(new A.ek(s,new A.jg(),A.R(s).h("ek<1,N>")),null)}, +j(a){var s=this.a,r=A.R(s) +return new A.E(s,new A.je(new A.E(s,new A.jf(),r.h("E<1,b>")).eo(0,0,B.y)),r.h("E<1,i>")).ar(0,u.q)}, +$ia0:1} +A.jb.prototype={ +$1(a){return a.length!==0}, +$S:3} +A.jg.prototype={ +$1(a){return a.gc3()}, +$S:85} +A.jf.prototype={ +$1(a){var s=a.gc3() +return new A.E(s,new A.jd(),A.R(s).h("E<1,b>")).eo(0,0,B.y)}, +$S:86} +A.jd.prototype={ +$1(a){return a.gbB().length}, +$S:32} +A.je.prototype={ +$1(a){var s=a.gc3() +return new A.E(s,new A.jc(this.a),A.R(s).h("E<1,i>")).c5(0)}, +$S:88} +A.jc.prototype={ +$1(a){return B.a.hh(a.gbB(),this.a)+" "+A.v(a.geC())+"\n"}, +$S:33} +A.N.prototype={ +geA(){var s=this.a +if(s.gZ()==="data")return"data:..." +return $.iZ().kC(s)}, +gbB(){var s,r=this,q=r.b +if(q==null)return r.geA() +s=r.c +if(s==null)return r.geA()+" "+A.v(q) +return r.geA()+" "+A.v(q)+":"+A.v(s)}, +j(a){return this.gbB()+" in "+A.v(this.d)}, +geC(){return this.d}} +A.k1.prototype={ +$0(){var s,r,q,p,o,n,m,l=null,k=this.a +if(k==="...")return new A.N(A.al(l,l,l,l),l,l,"...") +s=$.tQ().a9(k) +if(s==null)return new A.bm(A.al(l,"unparsed",l,l),k) +k=s.b +r=k[1] +r.toString +q=$.tz() +r=A.bc(r,q,"") +p=A.bc(r,"","") +r=k[2] +q=r +q.toString +if(B.a.u(q,"1?A.aQ(n[1],l):l +return new A.N(o,m,k>2?A.aQ(n[2],l):l,p)}, +$S:11} +A.k_.prototype={ +$0(){var s,r,q,p,o,n="",m=this.a,l=$.tP().a9(m) +if(l!=null){s=l.aK("member") +m=l.aK("uri") +m.toString +r=A.ha(m) +m=l.aK("index") +m.toString +q=l.aK("offset") +q.toString +p=A.aQ(q,16) +if(!(s==null))m=s +return new A.N(r,1,p+1,m)}l=$.tL().a9(m) +if(l!=null){m=new A.k0(m) +q=l.b +o=q[2] +if(o!=null){o=o +o.toString +q=q[1] +q.toString +q=A.bc(q,"",n) +q=A.bc(q,"Anonymous function",n) +return m.$2(o,A.bc(q,"(anonymous function)",n))}else{q=q[3] +q.toString +return m.$2(q,n)}}return new A.bm(A.al(null,"unparsed",null,null),m)}, +$S:11} +A.k0.prototype={ +$2(a,b){var s,r,q,p,o,n=null,m=$.tK(),l=m.a9(a) +for(;l!=null;a=s){s=l.b[1] +s.toString +l=m.a9(s)}if(a==="native")return new A.N(A.bn("native"),n,n,b) +r=$.tM().a9(a) +if(r==null)return new A.bm(A.al(n,"unparsed",n,n),this.a) +m=r.b +s=m[1] +s.toString +q=A.ha(s) +s=m[2] +s.toString +p=A.aQ(s,n) +o=m[3] +return new A.N(q,p,o!=null?A.aQ(o,n):n,b)}, +$S:91} +A.jX.prototype={ +$0(){var s,r,q,p,o=null,n=this.a,m=$.tA().a9(n) +if(m==null)return new A.bm(A.al(o,"unparsed",o,o),n) +n=m.b +s=n[1] +s.toString +r=A.bc(s,"/<","") +s=n[2] +s.toString +q=A.ha(s) +n=n[3] +n.toString +p=A.aQ(n,o) +return new A.N(q,p,o,r.length===0||r==="anonymous"?"":r)}, +$S:11} +A.jY.prototype={ +$0(){var s,r,q,p,o,n,m,l,k=null,j=this.a,i=$.tC().a9(j) +if(i!=null){s=i.b +r=s[3] +q=r +q.toString +if(B.a.K(q," line "))return A.uo(j) +j=r +j.toString +p=A.ha(j) +o=s[1] +if(o!=null){j=s[2] +j.toString +o+=B.c.c5(A.b_(B.a.ed("/",j).gl(0),".",!1,t.N)) +if(o==="")o="" +o=B.a.hp(o,$.tH(),"")}else o="" +j=s[4] +if(j==="")n=k +else{j=j +j.toString +n=A.aQ(j,k)}j=s[5] +if(j==null||j==="")m=k +else{j=j +j.toString +m=A.aQ(j,k)}return new A.N(p,n,m,o)}i=$.tE().a9(j) +if(i!=null){j=i.aK("member") +j.toString +s=i.aK("uri") +s.toString +p=A.ha(s) +s=i.aK("index") +s.toString +r=i.aK("offset") +r.toString +l=A.aQ(r,16) +if(!(j.length!==0))j=s +return new A.N(p,1,l+1,j)}i=$.tI().a9(j) +if(i!=null){j=i.aK("member") +j.toString +return new A.N(A.al(k,"wasm code",k,k),k,k,j)}return new A.bm(A.al(k,"unparsed",k,k),j)}, +$S:11} +A.jZ.prototype={ +$0(){var s,r,q,p,o=null,n=this.a,m=$.tF().a9(n) +if(m==null)throw A.a(A.ak("Couldn't parse package:stack_trace stack trace line '"+n+"'.",o,o)) +n=m.b +s=n[1] +if(s==="data:...")r=A.qN("") +else{s=s +s.toString +r=A.bn(s)}if(r.gZ()===""){s=$.iZ() +r=s.ht(s.fT(s.a.d5(A.pp(r)),o,o,o,o,o,o,o,o,o,o,o,o,o,o))}s=n[2] +if(s==null)q=o +else{s=s +s.toString +q=A.aQ(s,o)}s=n[3] +if(s==null)p=o +else{s=s +s.toString +p=A.aQ(s,o)}return new A.N(r,q,p,n[4])}, +$S:11} +A.hl.prototype={ +gfR(){var s,r=this,q=r.b +if(q===$){s=r.a.$0() +r.b!==$&&A.oz() +r.b=s +q=s}return q}, +gc3(){return this.gfR().gc3()}, +j(a){return this.gfR().j(0)}, +$ia0:1, +$ia1:1} +A.a1.prototype={ +j(a){var s=this.a,r=A.R(s) +return new A.E(s,new A.ll(new A.E(s,new A.lm(),r.h("E<1,b>")).eo(0,0,B.y)),r.h("E<1,i>")).c5(0)}, +$ia0:1, +gc3(){return this.a}} +A.lj.prototype={ +$0(){return A.qJ(this.a.j(0))}, +$S:92} +A.lk.prototype={ +$1(a){return a.length!==0}, +$S:3} +A.li.prototype={ +$1(a){return!B.a.u(a,$.tO())}, +$S:3} +A.lh.prototype={ +$1(a){return a!=="\tat "}, +$S:3} +A.lf.prototype={ +$1(a){return a.length!==0&&a!=="[native code]"}, +$S:3} +A.lg.prototype={ +$1(a){return!B.a.u(a,"=====")}, +$S:3} +A.lm.prototype={ +$1(a){return a.gbB().length}, +$S:32} +A.ll.prototype={ +$1(a){if(a instanceof A.bm)return a.j(0)+"\n" +return B.a.hh(a.gbB(),this.a)+" "+A.v(a.geC())+"\n"}, +$S:33} +A.bm.prototype={ +j(a){return this.w}, +$iN:1, +gbB(){return"unparsed"}, +geC(){return this.w}} +A.eb.prototype={} +A.eX.prototype={ +R(a,b,c,d){var s,r=this.b +if(r.d){a=null +d=null}s=this.a.R(a,b,c,d) +if(!r.d)r.c=s +return s}, +aW(a,b,c){return this.R(a,null,b,c)}, +eB(a,b){return this.R(a,null,b,null)}} +A.eW.prototype={ +p(){var s,r=this.hL(),q=this.b +q.d=!0 +s=q.c +if(s!=null){s.c9(null) +s.eF(null)}return r}} +A.em.prototype={ +ghK(){var s=this.b +s===$&&A.H() +return new A.ap(s,A.t(s).h("ap<1>"))}, +ghF(){var s=this.a +s===$&&A.H() +return s}, +hS(a,b,c,d){var s=this,r=$.j +s.a!==$&&A.pG() +s.a=new A.f5(a,s,new A.a5(new A.k(r,t.eI),t.fz),!0) +r=A.eK(null,new A.k8(c,s),!0,d) +s.b!==$&&A.pG() +s.b=r}, +iS(){var s,r +this.d=!0 +s=this.c +if(s!=null)s.J() +r=this.b +r===$&&A.H() +r.p()}} +A.k8.prototype={ +$0(){var s,r,q=this.b +if(q.d)return +s=this.a.a +r=q.b +r===$&&A.H() +q.c=s.aW(r.gjH(r),new A.k7(q),r.gfU())}, +$S:0} +A.k7.prototype={ +$0(){var s=this.a,r=s.a +r===$&&A.H() +r.iT() +s=s.b +s===$&&A.H() +s.p()}, +$S:0} +A.f5.prototype={ +v(a,b){if(this.e)throw A.a(A.C("Cannot add event after closing.")) +if(this.d)return +this.a.a.v(0,b)}, +a3(a,b){if(this.e)throw A.a(A.C("Cannot add event after closing.")) +if(this.d)return +this.iv(a,b)}, +iv(a,b){this.a.a.a3(a,b) +return}, +p(){var s=this +if(s.e)return s.c.a +s.e=!0 +if(!s.d){s.b.iS() +s.c.P(s.a.a.p())}return s.c.a}, +iT(){this.d=!0 +var s=this.c +if((s.a.a&30)===0)s.aU() +return}, +$iag:1} +A.hJ.prototype={} +A.eJ.prototype={} +A.bH.prototype={ +gl(a){return this.b}, +i(a,b){if(b>=this.b)throw A.a(A.q9(b,this)) +return this.a[b]}, +q(a,b,c){var s +if(b>=this.b)throw A.a(A.q9(b,this)) +s=this.a +s.$flags&2&&A.z(s) +s[b]=c}, +sl(a,b){var s,r,q,p,o=this,n=o.b +if(bn){if(n===0)p=new Uint8Array(b) +else p=o.ic(b) +B.e.af(p,0,o.b,o.a) +o.a=p}}o.b=b}, +ic(a){var s=this.a.length*2 +if(a!=null&&ss)throw A.a(A.W(c,0,s,null,null)) +s=this.a +if(A.t(this).h("bH").b(d))B.e.N(s,b,c,d.a,e) +else B.e.N(s,b,c,d,e)}, +af(a,b,c,d){return this.N(0,b,c,d,0)}} +A.ir.prototype={} +A.bI.prototype={} +A.oI.prototype={} +A.f1.prototype={ +R(a,b,c,d){return A.aE(this.a,this.b,a,!1)}, +aW(a,b,c){return this.R(a,null,b,c)}} +A.ij.prototype={ +J(){var s=this,r=A.b8(null,t.H) +if(s.b==null)return r +s.e7() +s.d=s.b=null +return r}, +c9(a){var s,r=this +if(r.b==null)throw A.a(A.C("Subscription has been canceled.")) +r.e7() +if(a==null)s=null +else{s=A.rP(new A.mr(a),t.m) +s=s==null?null:A.aV(s)}r.d=s +r.e5()}, +eF(a){}, +bD(){if(this.b==null)return;++this.a +this.e7()}, +bd(){var s=this +if(s.b==null||s.a<=0)return;--s.a +s.e5()}, +e5(){var s=this,r=s.d +if(r!=null&&s.a<=0)s.b.addEventListener(s.c,r,!1)}, +e7(){var s=this.d +if(s!=null)this.b.removeEventListener(this.c,s,!1)}} +A.mq.prototype={ +$1(a){return this.a.$1(a)}, +$S:1} +A.mr.prototype={ +$1(a){return this.a.$1(a)}, +$S:1};(function aliases(){var s=J.c_.prototype +s.hN=s.j +s=A.cG.prototype +s.hP=s.bK +s=A.ah.prototype +s.dn=s.bp +s.bm=s.bn +s.eW=s.cv +s=A.fk.prototype +s.hQ=s.ee +s=A.x.prototype +s.eV=s.N +s=A.f.prototype +s.hM=s.hG +s=A.d0.prototype +s.hL=s.p +s=A.eF.prototype +s.hO=s.p})();(function installTearOffs(){var s=hunkHelpers._static_2,r=hunkHelpers._static_1,q=hunkHelpers._static_0,p=hunkHelpers.installStaticTearOff,o=hunkHelpers._instance_0u,n=hunkHelpers.installInstanceTearOff,m=hunkHelpers._instance_2u,l=hunkHelpers._instance_1i,k=hunkHelpers._instance_1u +s(J,"wm","uB",93) +r(A,"wW","vd",17) +r(A,"wX","ve",17) +r(A,"wY","vf",17) +q(A,"rS","wP",0) +r(A,"wZ","wz",16) +s(A,"x_","wB",7) +q(A,"rR","wA",0) +p(A,"x5",5,null,["$5"],["wK"],95,0) +p(A,"xa",4,null,["$1$4","$4"],["o8",function(a,b,c,d){return A.o8(a,b,c,d,t.z)}],96,0) +p(A,"xc",5,null,["$2$5","$5"],["oa",function(a,b,c,d,e){var i=t.z +return A.oa(a,b,c,d,e,i,i)}],97,0) +p(A,"xb",6,null,["$3$6","$6"],["o9",function(a,b,c,d,e,f){var i=t.z +return A.o9(a,b,c,d,e,f,i,i,i)}],98,0) +p(A,"x8",4,null,["$1$4","$4"],["rI",function(a,b,c,d){return A.rI(a,b,c,d,t.z)}],99,0) +p(A,"x9",4,null,["$2$4","$4"],["rJ",function(a,b,c,d){var i=t.z +return A.rJ(a,b,c,d,i,i)}],100,0) +p(A,"x7",4,null,["$3$4","$4"],["rH",function(a,b,c,d){var i=t.z +return A.rH(a,b,c,d,i,i,i)}],101,0) +p(A,"x3",5,null,["$5"],["wJ"],102,0) +p(A,"xd",4,null,["$4"],["ob"],103,0) +p(A,"x2",5,null,["$5"],["wI"],104,0) +p(A,"x1",5,null,["$5"],["wH"],105,0) +p(A,"x6",4,null,["$4"],["wL"],106,0) +r(A,"x0","wD",107) +p(A,"x4",5,null,["$5"],["rG"],108,0) +var j +o(j=A.cH.prototype,"gbN","am",0) +o(j,"gbO","an",0) +n(A.dv.prototype,"gjR",0,1,null,["$2","$1"],["bz","aI"],31,0,0) +m(A.k.prototype,"gdC","X",7) +l(j=A.cO.prototype,"gjH","v",8) +n(j,"gfU",0,1,null,["$2","$1"],["a3","jI"],31,0,0) +o(j=A.cg.prototype,"gbN","am",0) +o(j,"gbO","an",0) +o(j=A.ah.prototype,"gbN","am",0) +o(j,"gbO","an",0) +o(A.eZ.prototype,"gfs","iR",0) +k(j=A.dM.prototype,"giL","iM",8) +m(j,"giP","iQ",7) +o(j,"giN","iO",0) +o(j=A.dy.prototype,"gbN","am",0) +o(j,"gbO","an",0) +k(j,"gdN","dO",8) +m(j,"gdR","dS",40) +o(j,"gdP","dQ",0) +o(j=A.dJ.prototype,"gbN","am",0) +o(j,"gbO","an",0) +k(j,"gdN","dO",8) +m(j,"gdR","dS",7) +o(j,"gdP","dQ",0) +k(A.dK.prototype,"gjN","ee","X<2>(e?)") +r(A,"xh","va",9) +p(A,"xK",2,null,["$1$2","$2"],["t0",function(a,b){return A.t0(a,b,t.E)}],109,0) +r(A,"xM","xS",5) +r(A,"xL","xR",5) +r(A,"xJ","xi",5) +r(A,"xN","xY",5) +r(A,"xG","wU",5) +r(A,"xH","wV",5) +r(A,"xI","xe",5) +k(A.eh.prototype,"giy","iz",8) +k(A.h0.prototype,"gie","dF",14) +k(A.i2.prototype,"gjt","cG",14) +r(A,"zi","rz",18) +r(A,"zg","rx",18) +r(A,"zh","ry",18) +r(A,"t2","wC",37) +r(A,"t3","wF",112) +r(A,"t1","wa",113) +o(A.ds.prototype,"gb7","p",0) +r(A,"bT","uI",114) +r(A,"b6","uJ",115) +r(A,"pF","uK",116) +k(A.eO.prototype,"gj_","j0",69) +o(A.fN.prototype,"gb7","p",0) +o(A.d4.prototype,"gb7","p",2) +o(A.dz.prototype,"gd9","U",0) +o(A.dx.prototype,"gd9","U",2) +o(A.cI.prototype,"gd9","U",2) +o(A.cQ.prototype,"gd9","U",2) +o(A.dk.prototype,"gb7","p",0) +r(A,"xq","uv",15) +r(A,"rV","uu",15) +r(A,"xo","us",15) +r(A,"xp","ut",15) +r(A,"y1","v5",29) +r(A,"y0","v4",29)})();(function inheritance(){var s=hunkHelpers.mixin,r=hunkHelpers.inherit,q=hunkHelpers.inheritMany +r(A.e,null) +q(A.e,[A.oP,J.hf,J.fJ,A.f,A.fT,A.P,A.x,A.cq,A.kL,A.aZ,A.b0,A.eP,A.h6,A.hM,A.hG,A.hH,A.h3,A.i3,A.eo,A.el,A.hQ,A.hL,A.fe,A.ed,A.it,A.lo,A.hx,A.ej,A.fi,A.U,A.km,A.hm,A.cx,A.dF,A.m_,A.dm,A.nH,A.mf,A.iO,A.b1,A.im,A.nN,A.iK,A.i5,A.iI,A.be,A.X,A.ah,A.cG,A.dv,A.ch,A.k,A.i6,A.hK,A.cO,A.iJ,A.i7,A.dN,A.ih,A.mo,A.fd,A.eZ,A.dM,A.f0,A.dB,A.au,A.iQ,A.dS,A.iP,A.io,A.dj,A.nt,A.dE,A.iv,A.aI,A.iw,A.cr,A.cs,A.nU,A.fu,A.a8,A.il,A.ef,A.br,A.mp,A.hy,A.eH,A.ik,A.bt,A.he,A.bx,A.G,A.dO,A.ax,A.fr,A.hT,A.b4,A.h7,A.hw,A.nr,A.d0,A.fY,A.hn,A.hv,A.hR,A.eh,A.iy,A.fV,A.h1,A.h0,A.c0,A.aK,A.bX,A.c4,A.bi,A.c6,A.bW,A.c7,A.c5,A.bA,A.bC,A.kM,A.ff,A.i2,A.bE,A.bV,A.e9,A.an,A.e7,A.cZ,A.kA,A.ln,A.jC,A.dc,A.kB,A.eA,A.kx,A.bj,A.jD,A.lA,A.h2,A.dh,A.ly,A.kU,A.fW,A.dH,A.dI,A.ld,A.kv,A.eB,A.c9,A.co,A.kE,A.hI,A.kF,A.kH,A.kG,A.de,A.df,A.bs,A.jz,A.l2,A.d_,A.bJ,A.fQ,A.jw,A.iE,A.nw,A.cw,A.aL,A.eG,A.cJ,A.i0,A.kJ,A.bk,A.by,A.iA,A.eO,A.dG,A.fN,A.mt,A.ix,A.iq,A.hY,A.mJ,A.jx,A.hB,A.bf,A.N,A.hl,A.a1,A.bm,A.eJ,A.f5,A.hJ,A.oI,A.ij]) +q(J.hf,[J.hg,J.er,J.es,J.aA,J.d6,J.d5,J.bY]) +q(J.es,[J.c_,J.w,A.d7,A.ew]) +q(J.c_,[J.hz,J.cF,J.bv]) +r(J.kh,J.w) +q(J.d5,[J.eq,J.hh]) +q(A.f,[A.cf,A.u,A.aB,A.aU,A.ek,A.cE,A.bD,A.eE,A.eQ,A.bu,A.cM,A.i4,A.iH,A.dP,A.et]) +q(A.cf,[A.cp,A.fv]) +r(A.f_,A.cp) +r(A.eV,A.fv) +r(A.aj,A.eV) +q(A.P,[A.bZ,A.bF,A.hj,A.hP,A.ie,A.hD,A.ii,A.fM,A.aX,A.eM,A.hO,A.b2,A.fU]) +q(A.x,[A.dn,A.hW,A.dr,A.bH]) +r(A.ec,A.dn) +q(A.cq,[A.jh,A.kb,A.ji,A.le,A.kj,A.on,A.op,A.m1,A.m0,A.nX,A.nI,A.nK,A.nJ,A.k5,A.mz,A.mG,A.lb,A.la,A.l8,A.l6,A.nG,A.mn,A.mm,A.nB,A.nA,A.mH,A.kr,A.mc,A.nP,A.o2,A.o3,A.or,A.ov,A.ow,A.oh,A.jJ,A.jK,A.jL,A.kR,A.kS,A.kT,A.kP,A.lU,A.lR,A.lS,A.lP,A.lV,A.lT,A.kC,A.jS,A.oc,A.kk,A.kl,A.kq,A.lM,A.lN,A.jF,A.l_,A.of,A.ou,A.jM,A.kK,A.jn,A.jo,A.jp,A.kZ,A.kV,A.kY,A.kW,A.kX,A.ju,A.jv,A.od,A.lZ,A.l3,A.ok,A.j5,A.mi,A.mj,A.jl,A.jm,A.jq,A.jr,A.js,A.j9,A.j6,A.j7,A.l0,A.mZ,A.n_,A.n0,A.nb,A.nk,A.nl,A.no,A.np,A.nq,A.n1,A.n8,A.n9,A.na,A.nc,A.nd,A.ne,A.nf,A.ng,A.nh,A.ni,A.jb,A.jg,A.jf,A.jd,A.je,A.jc,A.lk,A.li,A.lh,A.lf,A.lg,A.lm,A.ll,A.mq,A.mr]) +q(A.jh,[A.ot,A.m2,A.m3,A.nM,A.nL,A.k4,A.k2,A.mv,A.mC,A.mB,A.my,A.mx,A.mw,A.mF,A.mE,A.mD,A.lc,A.l9,A.l7,A.l5,A.nF,A.nE,A.me,A.md,A.nu,A.o_,A.o0,A.ml,A.mk,A.o7,A.nz,A.ny,A.nT,A.nS,A.jI,A.kN,A.kO,A.kQ,A.lW,A.lX,A.lQ,A.ox,A.m4,A.m9,A.m7,A.m8,A.m6,A.m5,A.nC,A.nD,A.jH,A.jG,A.ms,A.ko,A.kp,A.lO,A.jE,A.jQ,A.jN,A.jO,A.jP,A.jA,A.j3,A.j4,A.ja,A.mu,A.ka,A.mI,A.mQ,A.mP,A.mO,A.mN,A.mY,A.mX,A.mW,A.mV,A.mU,A.mT,A.mS,A.mR,A.mM,A.mL,A.mK,A.k1,A.k_,A.jX,A.jY,A.jZ,A.lj,A.k8,A.k7]) +q(A.u,[A.Q,A.cv,A.b9,A.cL,A.f7]) +q(A.Q,[A.cD,A.E,A.eD]) +r(A.cu,A.aB) +r(A.ei,A.cE) +r(A.d1,A.bD) +r(A.ct,A.bu) +r(A.iz,A.fe) +q(A.iz,[A.ai,A.cN]) +r(A.ee,A.ed) +r(A.ep,A.kb) +r(A.ey,A.bF) +q(A.le,[A.l4,A.e8]) +q(A.U,[A.bw,A.cK]) +q(A.ji,[A.ki,A.oo,A.nY,A.oe,A.k6,A.mA,A.nZ,A.k9,A.ks,A.mb,A.lt,A.lu,A.lv,A.o1,A.lD,A.lC,A.lB,A.jB,A.lG,A.lF,A.j8,A.nm,A.nn,A.n2,A.n3,A.n4,A.n5,A.n6,A.n7,A.nj,A.k0]) +q(A.ew,[A.cy,A.d9]) +q(A.d9,[A.f9,A.fb]) +r(A.fa,A.f9) +r(A.c1,A.fa) +r(A.fc,A.fb) +r(A.aT,A.fc) +q(A.c1,[A.ho,A.hp]) +q(A.aT,[A.hq,A.d8,A.hr,A.hs,A.ht,A.ex,A.c2]) +r(A.fm,A.ii) +q(A.X,[A.dL,A.f3,A.eT,A.e6,A.eX,A.f1]) +r(A.ap,A.dL) +r(A.eU,A.ap) +q(A.ah,[A.cg,A.dy,A.dJ]) +r(A.cH,A.cg) +r(A.fl,A.cG) +q(A.dv,[A.a5,A.aa]) +q(A.cO,[A.du,A.dQ]) +q(A.ih,[A.dw,A.eY]) +r(A.f8,A.f3) +r(A.fk,A.hK) +r(A.dK,A.fk) +q(A.iP,[A.id,A.iD]) +r(A.dC,A.cK) +r(A.fg,A.dj) +r(A.f6,A.fg) +q(A.cr,[A.h4,A.fO]) +q(A.h4,[A.fK,A.hU]) +q(A.cs,[A.iM,A.fP,A.hV]) +r(A.fL,A.iM) +q(A.aX,[A.dd,A.en]) +r(A.ig,A.fr) +q(A.c0,[A.ao,A.bb,A.bh,A.bq]) +q(A.mp,[A.da,A.cC,A.c3,A.dp,A.cB,A.cA,A.cd,A.bL,A.ku,A.ad,A.d2]) +r(A.jy,A.kA) +r(A.kt,A.ln) +q(A.jC,[A.hu,A.jR]) +q(A.an,[A.i8,A.dD,A.hk]) +q(A.i8,[A.iL,A.fZ,A.i9,A.f2]) +r(A.fj,A.iL) +r(A.is,A.dD) +r(A.eF,A.jy) +r(A.fh,A.jR) +q(A.lA,[A.jj,A.dt,A.di,A.dg,A.eI,A.h_]) +q(A.jj,[A.c8,A.eg]) +r(A.mh,A.kB) +r(A.hZ,A.fZ) +r(A.nW,A.eF) +r(A.kf,A.ld) +q(A.kf,[A.kw,A.lw,A.lY]) +q(A.bs,[A.h8,A.d3]) +r(A.dl,A.d_) +r(A.fR,A.bJ) +q(A.fR,[A.hb,A.ds,A.d4,A.dk]) +q(A.fQ,[A.ip,A.i_,A.iG]) +r(A.iB,A.jw) +r(A.iC,A.iB) +r(A.hC,A.iC) +r(A.iF,A.iE) +r(A.bl,A.iF) +r(A.lJ,A.kE) +r(A.lz,A.kF) +r(A.lL,A.kH) +r(A.lK,A.kG) +r(A.cc,A.de) +r(A.bK,A.df) +r(A.i1,A.l2) +q(A.by,[A.aY,A.T]) +r(A.aS,A.T) +r(A.aq,A.aI) +q(A.aq,[A.dz,A.dx,A.cI,A.cQ]) +q(A.eJ,[A.eb,A.em]) +r(A.eW,A.d0) +r(A.ir,A.bH) +r(A.bI,A.ir) +s(A.dn,A.hQ) +s(A.fv,A.x) +s(A.f9,A.x) +s(A.fa,A.el) +s(A.fb,A.x) +s(A.fc,A.el) +s(A.du,A.i7) +s(A.dQ,A.iJ) +s(A.iB,A.x) +s(A.iC,A.hv) +s(A.iE,A.hR) +s(A.iF,A.U)})() +var v={typeUniverse:{eC:new Map(),tR:{},eT:{},tPV:{},sEA:[]},mangledGlobalNames:{b:"int",I:"double",b5:"num",i:"String",O:"bool",G:"Null",q:"List",e:"Object",ab:"Map"},mangledNames:{},types:["~()","~(A)","D<~>()","O(i)","b(b,b)","I(b5)","G()","~(e,a0)","~(e?)","i(i)","G(A)","N()","G(b)","b(b)","e?(e?)","N(i)","~(@)","~(~())","i(b)","~(A?,q?)","D()","G(b,b,b)","D()","O(~)","b?(b)","~(at,i,b)","@()","b(b,b,b,b,b)","b(b,b,b)","a1(i)","b(b,b,b,aA)","~(e[a0?])","b(N)","i(N)","b(b,b,b,b)","O()","G(@)","b5?(q)","q(w)","bi()","~(@,a0)","bE(e?)","D()","G(@,a0)","~(e?,e?)","b()","D()","ab(q)","b(q)","~(b,@)","G(an)","D(~)","G(~())","@(@,i)","~(i,b)","O(b)","A(w)","dh()","D()","D()","~(ag)","~(O,O,O,q<+(bL,i)>)","~(i,b?)","i(i?)","i(e?)","~(de,q)","~(bs)","~(i,ab)","~(i,e?)","~(dG)","A(A?)","D<~>(b,at)","D<~>(b)","at()","D(i)","G(e,a0)","at(@,@)","k<@>(@)","@(i)","G(b,b)","D<~>(ao)","b(b,aA)","G(O)","G(b,b,b,b,aA)","G(aA,b)","q(a1)","b(a1)","G(~)","i(a1)","bB?/(ao)","@(@)","N(i,i)","a1()","b(@,@)","D()","~(y?,Y?,y,e,a0)","0^(y?,Y?,y,0^())","0^(y?,Y?,y,0^(1^),1^)","0^(y?,Y?,y,0^(1^,2^),1^,2^)","0^()(y,Y,y,0^())","0^(1^)(y,Y,y,0^(1^))","0^(1^,2^)(y,Y,y,0^(1^,2^))","be?(y,Y,y,e,a0?)","~(y?,Y?,y,~())","eL(y,Y,y,br,~())","eL(y,Y,y,br,~(eL))","~(y,Y,y,i)","~(i)","y(y?,Y?,y,p3?,ab?)","0^(0^,0^)","bV<@>?()","ao()","O?(q)","O(q<@>)","aY(bk)","T(bk)","aS(bk)","bb()","~(@,@)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti"),rttc:{"2;":(a,b)=>c=>c instanceof A.ai&&a.b(c.a)&&b.b(c.b),"2;file,outFlags":(a,b)=>c=>c instanceof A.cN&&a.b(c.a)&&b.b(c.b)}} +A.vH(v.typeUniverse,JSON.parse('{"bv":"c_","hz":"c_","cF":"c_","w":{"q":["1"],"u":["1"],"A":[],"f":["1"],"ar":["1"]},"hg":{"O":[],"L":[]},"er":{"G":[],"L":[]},"es":{"A":[]},"c_":{"A":[]},"kh":{"w":["1"],"q":["1"],"u":["1"],"A":[],"f":["1"],"ar":["1"]},"d5":{"I":[],"b5":[]},"eq":{"I":[],"b":[],"b5":[],"L":[]},"hh":{"I":[],"b5":[],"L":[]},"bY":{"i":[],"ar":["@"],"L":[]},"cf":{"f":["2"]},"cp":{"cf":["1","2"],"f":["2"],"f.E":"2"},"f_":{"cp":["1","2"],"cf":["1","2"],"u":["2"],"f":["2"],"f.E":"2"},"eV":{"x":["2"],"q":["2"],"cf":["1","2"],"u":["2"],"f":["2"]},"aj":{"eV":["1","2"],"x":["2"],"q":["2"],"cf":["1","2"],"u":["2"],"f":["2"],"x.E":"2","f.E":"2"},"bZ":{"P":[]},"ec":{"x":["b"],"q":["b"],"u":["b"],"f":["b"],"x.E":"b"},"u":{"f":["1"]},"Q":{"u":["1"],"f":["1"]},"cD":{"Q":["1"],"u":["1"],"f":["1"],"f.E":"1","Q.E":"1"},"aB":{"f":["2"],"f.E":"2"},"cu":{"aB":["1","2"],"u":["2"],"f":["2"],"f.E":"2"},"E":{"Q":["2"],"u":["2"],"f":["2"],"f.E":"2","Q.E":"2"},"aU":{"f":["1"],"f.E":"1"},"ek":{"f":["2"],"f.E":"2"},"cE":{"f":["1"],"f.E":"1"},"ei":{"cE":["1"],"u":["1"],"f":["1"],"f.E":"1"},"bD":{"f":["1"],"f.E":"1"},"d1":{"bD":["1"],"u":["1"],"f":["1"],"f.E":"1"},"eE":{"f":["1"],"f.E":"1"},"cv":{"u":["1"],"f":["1"],"f.E":"1"},"eQ":{"f":["1"],"f.E":"1"},"bu":{"f":["+(b,1)"],"f.E":"+(b,1)"},"ct":{"bu":["1"],"u":["+(b,1)"],"f":["+(b,1)"],"f.E":"+(b,1)"},"dn":{"x":["1"],"q":["1"],"u":["1"],"f":["1"]},"eD":{"Q":["1"],"u":["1"],"f":["1"],"f.E":"1","Q.E":"1"},"ed":{"ab":["1","2"]},"ee":{"ed":["1","2"],"ab":["1","2"]},"cM":{"f":["1"],"f.E":"1"},"ey":{"bF":[],"P":[]},"hj":{"P":[]},"hP":{"P":[]},"hx":{"a7":[]},"fi":{"a0":[]},"ie":{"P":[]},"hD":{"P":[]},"bw":{"U":["1","2"],"ab":["1","2"],"U.V":"2","U.K":"1"},"b9":{"u":["1"],"f":["1"],"f.E":"1"},"dF":{"hA":[],"ev":[]},"i4":{"f":["hA"],"f.E":"hA"},"dm":{"ev":[]},"iH":{"f":["ev"],"f.E":"ev"},"d7":{"A":[],"fS":[],"L":[]},"cy":{"oG":[],"A":[],"L":[]},"d8":{"aT":[],"kd":[],"x":["b"],"q":["b"],"aR":["b"],"u":["b"],"A":[],"ar":["b"],"f":["b"],"L":[],"x.E":"b"},"c2":{"aT":[],"at":[],"x":["b"],"q":["b"],"aR":["b"],"u":["b"],"A":[],"ar":["b"],"f":["b"],"L":[],"x.E":"b"},"ew":{"A":[]},"iO":{"fS":[]},"d9":{"aR":["1"],"A":[],"ar":["1"]},"c1":{"x":["I"],"q":["I"],"aR":["I"],"u":["I"],"A":[],"ar":["I"],"f":["I"]},"aT":{"x":["b"],"q":["b"],"aR":["b"],"u":["b"],"A":[],"ar":["b"],"f":["b"]},"ho":{"c1":[],"jV":[],"x":["I"],"q":["I"],"aR":["I"],"u":["I"],"A":[],"ar":["I"],"f":["I"],"L":[],"x.E":"I"},"hp":{"c1":[],"jW":[],"x":["I"],"q":["I"],"aR":["I"],"u":["I"],"A":[],"ar":["I"],"f":["I"],"L":[],"x.E":"I"},"hq":{"aT":[],"kc":[],"x":["b"],"q":["b"],"aR":["b"],"u":["b"],"A":[],"ar":["b"],"f":["b"],"L":[],"x.E":"b"},"hr":{"aT":[],"ke":[],"x":["b"],"q":["b"],"aR":["b"],"u":["b"],"A":[],"ar":["b"],"f":["b"],"L":[],"x.E":"b"},"hs":{"aT":[],"lq":[],"x":["b"],"q":["b"],"aR":["b"],"u":["b"],"A":[],"ar":["b"],"f":["b"],"L":[],"x.E":"b"},"ht":{"aT":[],"lr":[],"x":["b"],"q":["b"],"aR":["b"],"u":["b"],"A":[],"ar":["b"],"f":["b"],"L":[],"x.E":"b"},"ex":{"aT":[],"ls":[],"x":["b"],"q":["b"],"aR":["b"],"u":["b"],"A":[],"ar":["b"],"f":["b"],"L":[],"x.E":"b"},"ii":{"P":[]},"fm":{"bF":[],"P":[]},"be":{"P":[]},"k":{"D":["1"]},"ah":{"ah.T":"1"},"dB":{"ag":["1"]},"dP":{"f":["1"],"f.E":"1"},"eU":{"ap":["1"],"dL":["1"],"X":["1"],"X.T":"1"},"cH":{"cg":["1"],"ah":["1"],"ah.T":"1"},"cG":{"ag":["1"]},"fl":{"cG":["1"],"ag":["1"]},"a5":{"dv":["1"]},"aa":{"dv":["1"]},"cO":{"ag":["1"]},"du":{"cO":["1"],"ag":["1"]},"dQ":{"cO":["1"],"ag":["1"]},"ap":{"dL":["1"],"X":["1"],"X.T":"1"},"cg":{"ah":["1"],"ah.T":"1"},"dN":{"ag":["1"]},"dL":{"X":["1"]},"f3":{"X":["2"]},"dy":{"ah":["2"],"ah.T":"2"},"f8":{"f3":["1","2"],"X":["2"],"X.T":"2"},"f0":{"ag":["1"]},"dJ":{"ah":["2"],"ah.T":"2"},"eT":{"X":["2"],"X.T":"2"},"dK":{"fk":["1","2"]},"iQ":{"p3":[]},"dS":{"Y":[]},"iP":{"y":[]},"id":{"y":[]},"iD":{"y":[]},"cK":{"U":["1","2"],"ab":["1","2"],"U.V":"2","U.K":"1"},"dC":{"cK":["1","2"],"U":["1","2"],"ab":["1","2"],"U.V":"2","U.K":"1"},"cL":{"u":["1"],"f":["1"],"f.E":"1"},"f6":{"fg":["1"],"dj":["1"],"u":["1"],"f":["1"]},"et":{"f":["1"],"f.E":"1"},"x":{"q":["1"],"u":["1"],"f":["1"]},"U":{"ab":["1","2"]},"f7":{"u":["2"],"f":["2"],"f.E":"2"},"dj":{"u":["1"],"f":["1"]},"fg":{"dj":["1"],"u":["1"],"f":["1"]},"fK":{"cr":["i","q"]},"iM":{"cs":["i","q"]},"fL":{"cs":["i","q"]},"fO":{"cr":["q","i"]},"fP":{"cs":["q","i"]},"h4":{"cr":["i","q"]},"hU":{"cr":["i","q"]},"hV":{"cs":["i","q"]},"I":{"b5":[]},"b":{"b5":[]},"q":{"u":["1"],"f":["1"]},"hA":{"ev":[]},"fM":{"P":[]},"bF":{"P":[]},"aX":{"P":[]},"dd":{"P":[]},"en":{"P":[]},"eM":{"P":[]},"hO":{"P":[]},"b2":{"P":[]},"fU":{"P":[]},"hy":{"P":[]},"eH":{"P":[]},"ik":{"a7":[]},"bt":{"a7":[]},"he":{"a7":[],"P":[]},"dO":{"a0":[]},"fr":{"hS":[]},"b4":{"hS":[]},"ig":{"hS":[]},"hw":{"a7":[]},"d0":{"ag":["1"]},"fV":{"a7":[]},"h1":{"a7":[]},"ao":{"c0":[]},"bb":{"c0":[]},"bi":{"as":[]},"bA":{"as":[]},"aK":{"bB":[]},"bh":{"c0":[]},"bq":{"c0":[]},"da":{"as":[]},"bX":{"as":[]},"c4":{"as":[]},"c6":{"as":[]},"bW":{"as":[]},"c7":{"as":[]},"c5":{"as":[]},"bC":{"bB":[]},"e9":{"a7":[]},"i8":{"an":[]},"iL":{"hN":[],"an":[]},"fj":{"hN":[],"an":[]},"fZ":{"an":[]},"i9":{"an":[]},"f2":{"an":[]},"dD":{"an":[]},"is":{"hN":[],"an":[]},"hk":{"an":[]},"dt":{"a7":[]},"hZ":{"an":[]},"eB":{"a7":[]},"c9":{"a7":[]},"h8":{"bs":[]},"hW":{"x":["e?"],"q":["e?"],"u":["e?"],"f":["e?"],"x.E":"e?"},"d3":{"bs":[]},"dl":{"d_":[]},"hb":{"bJ":[]},"ip":{"dq":[]},"bl":{"U":["i","@"],"ab":["i","@"],"U.V":"@","U.K":"i"},"hC":{"x":["bl"],"q":["bl"],"u":["bl"],"f":["bl"],"x.E":"bl"},"aL":{"a7":[]},"fR":{"bJ":[]},"fQ":{"dq":[]},"bK":{"df":[]},"cc":{"de":[]},"dr":{"x":["bK"],"q":["bK"],"u":["bK"],"f":["bK"],"x.E":"bK"},"e6":{"X":["1"],"X.T":"1"},"ds":{"bJ":[]},"i_":{"dq":[]},"aY":{"by":[]},"T":{"by":[]},"aS":{"T":[],"by":[]},"d4":{"bJ":[]},"aq":{"aI":["aq"]},"iq":{"dq":[]},"dz":{"aq":[],"aI":["aq"],"aI.E":"aq"},"dx":{"aq":[],"aI":["aq"],"aI.E":"aq"},"cI":{"aq":[],"aI":["aq"],"aI.E":"aq"},"cQ":{"aq":[],"aI":["aq"],"aI.E":"aq"},"dk":{"bJ":[]},"iG":{"dq":[]},"bf":{"a0":[]},"hl":{"a1":[],"a0":[]},"a1":{"a0":[]},"bm":{"N":[]},"eb":{"eJ":["1"]},"eX":{"X":["1"],"X.T":"1"},"eW":{"ag":["1"]},"em":{"eJ":["1"]},"f5":{"ag":["1"]},"bI":{"bH":["b"],"x":["b"],"q":["b"],"u":["b"],"f":["b"],"x.E":"b","bH.E":"b"},"bH":{"x":["1"],"q":["1"],"u":["1"],"f":["1"]},"ir":{"bH":["b"],"x":["b"],"q":["b"],"u":["b"],"f":["b"]},"f1":{"X":["1"],"X.T":"1"},"ke":{"q":["b"],"u":["b"],"f":["b"]},"at":{"q":["b"],"u":["b"],"f":["b"]},"ls":{"q":["b"],"u":["b"],"f":["b"]},"kc":{"q":["b"],"u":["b"],"f":["b"]},"lq":{"q":["b"],"u":["b"],"f":["b"]},"kd":{"q":["b"],"u":["b"],"f":["b"]},"lr":{"q":["b"],"u":["b"],"f":["b"]},"jV":{"q":["I"],"u":["I"],"f":["I"]},"jW":{"q":["I"],"u":["I"],"f":["I"]}}')) +A.vG(v.typeUniverse,JSON.parse('{"eP":1,"hG":1,"hH":1,"h3":1,"eo":1,"el":1,"hQ":1,"dn":1,"fv":2,"hm":1,"d9":1,"ag":1,"iI":1,"hK":2,"iJ":1,"i7":1,"dN":1,"ih":1,"dw":1,"fd":1,"eZ":1,"dM":1,"f0":1,"au":1,"h7":1,"d0":1,"fY":1,"hn":1,"hv":1,"hR":2,"eF":1,"u6":1,"hI":1,"eW":1,"f5":1,"ij":1}')) +var u={q:"===== asynchronous gap ===========================\n",l:"Cannot extract a file path from a URI with a fragment component",y:"Cannot extract a file path from a URI with a query component",j:"Cannot extract a non-Windows file path from a file URI with an authority",o:"Cannot fire new event. Controller is already firing an event",c:"Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type",D:"Tried to operate on a released prepared statement"} +var t=(function rtii(){var s=A.av +return{b9:s("u6"),cO:s("e6>"),dI:s("fS"),fd:s("oG"),g1:s("bV<@>"),eT:s("d_"),ed:s("eg"),gw:s("eh"),Q:s("u<@>"),q:s("aY"),C:s("P"),g8:s("a7"),ez:s("d2"),G:s("T"),h4:s("jV"),gN:s("jW"),B:s("N"),b8:s("ya"),bF:s("D"),cG:s("D"),eY:s("D"),bd:s("d4"),dQ:s("kc"),an:s("kd"),gj:s("ke"),dP:s("f"),g7:s("w"),cf:s("w"),eV:s("w"),e:s("w"),fG:s("w>"),fk:s("w>"),W:s("w"),gP:s("w>"),gz:s("w>"),d:s("w>"),f:s("w"),L:s("w<+(bL,i)>"),bb:s("w
"),s:s("w"),be:s("w"),J:s("w"),gQ:s("w"),n:s("w"),gn:s("w<@>"),t:s("w"),c:s("w"),d4:s("w"),r:s("w"),Y:s("w"),bT:s("w<~()>"),aP:s("ar<@>"),T:s("er"),m:s("A"),b:s("aA"),g:s("bv"),aU:s("aR<@>"),au:s("et"),e9:s("q>"),cl:s("q"),aS:s("q>"),u:s("q"),j:s("q<@>"),I:s("q"),ee:s("q"),dY:s("ab"),g6:s("ab"),cv:s("ab"),M:s("aB"),fe:s("E"),do:s("E"),fJ:s("c0"),cb:s("by"),eN:s("aS"),o:s("d7"),gT:s("cy"),ha:s("d8"),aV:s("c1"),eB:s("aT"),Z:s("c2"),bw:s("bA"),P:s("G"),K:s("e"),x:s("an"),aj:s("dc"),fl:s("ye"),bQ:s("+()"),e1:s("+(A?,A)"),cz:s("hA"),gy:s("hB"),al:s("ao"),cc:s("bB"),bJ:s("eD"),fE:s("dh"),fM:s("c8"),gW:s("dk"),f_:s("c9"),l:s("a0"),a7:s("hJ"),N:s("i"),aF:s("eL"),a:s("a1"),v:s("hN"),dm:s("L"),eK:s("bF"),h7:s("lq"),bv:s("lr"),go:s("ls"),p:s("at"),ak:s("cF"),dD:s("hS"),ei:s("eO"),fL:s("bJ"),ga:s("dq"),h2:s("hY"),g9:s("i0"),ab:s("i1"),aT:s("ds"),U:s("aU"),eJ:s("eQ"),R:s("ad"),dx:s("ad"),b0:s("ad"),bi:s("a5"),co:s("a5"),fz:s("a5<@>"),fu:s("a5"),h:s("a5<~>"),V:s("cJ"),fF:s("f1"),et:s("k"),a9:s("k"),k:s("k"),eI:s("k<@>"),gR:s("k"),fX:s("k"),D:s("k<~>"),hg:s("dC"),cT:s("dG"),aR:s("iy"),eg:s("iA"),dn:s("fl<~>"),eC:s("aa"),fa:s("aa"),F:s("aa<~>"),y:s("O"),i:s("I"),z:s("@"),bI:s("@(e)"),w:s("@(e,a0)"),S:s("b"),aw:s("0&*"),_:s("e*"),eH:s("D?"),A:s("A?"),dE:s("c2?"),X:s("e?"),ah:s("as?"),O:s("bB?"),fN:s("bI?"),aD:s("at?"),h6:s("b?"),E:s("b5"),H:s("~"),d5:s("~(e)"),da:s("~(e,a0)")}})();(function constants(){var s=hunkHelpers.makeConstList +B.aG=J.hf.prototype +B.c=J.w.prototype +B.b=J.eq.prototype +B.aH=J.d5.prototype +B.a=J.bY.prototype +B.aI=J.bv.prototype +B.aJ=J.es.prototype +B.aV=A.cy.prototype +B.e=A.c2.prototype +B.ag=J.hz.prototype +B.E=J.cF.prototype +B.an=new A.co(0) +B.l=new A.co(1) +B.q=new A.co(2) +B.Z=new A.co(3) +B.bK=new A.co(-1) +B.ao=new A.fL(127) +B.y=new A.ep(A.xK(),A.av("ep")) +B.ap=new A.fK() +B.bL=new A.fP() +B.aq=new A.fO() +B.a_=new A.e9() +B.ar=new A.fV() +B.bM=new A.fY() +B.a0=new A.h0() +B.a1=new A.h3() +B.h=new A.aY() +B.as=new A.he() +B.a2=function getTagFallback(o) { + var s = Object.prototype.toString.call(o); + return s.substring(8, s.length - 1); +} +B.at=function() { + var toStringFunction = Object.prototype.toString; + function getTag(o) { + var s = toStringFunction.call(o); + return s.substring(8, s.length - 1); + } + function getUnknownTag(object, tag) { + if (/^HTML[A-Z].*Element$/.test(tag)) { + var name = toStringFunction.call(object); + if (name == "[object Object]") return null; + return "HTMLElement"; + } + } + function getUnknownTagGenericBrowser(object, tag) { + if (object instanceof HTMLElement) return "HTMLElement"; + return getUnknownTag(object, tag); + } + function prototypeForTag(tag) { + if (typeof window == "undefined") return null; + if (typeof window[tag] == "undefined") return null; + var constructor = window[tag]; + if (typeof constructor != "function") return null; + return constructor.prototype; + } + function discriminator(tag) { return null; } + var isBrowser = typeof HTMLElement == "function"; + return { + getTag: getTag, + getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, + prototypeForTag: prototypeForTag, + discriminator: discriminator }; +} +B.ay=function(getTagFallback) { + return function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("DumpRenderTree") >= 0) return hooks; + if (userAgent.indexOf("Chrome") >= 0) { + function confirm(p) { + return typeof window == "object" && window[p] && window[p].name == p; + } + if (confirm("Window") && confirm("HTMLElement")) return hooks; + } + hooks.getTag = getTagFallback; + }; +} +B.au=function(hooks) { + if (typeof dartExperimentalFixupGetTag != "function") return hooks; + hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); +} +B.ax=function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("Firefox") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "GeoGeolocation": "Geolocation", + "Location": "!Location", + "WorkerMessageEvent": "MessageEvent", + "XMLDocument": "!Document"}; + function getTagFirefox(o) { + var tag = getTag(o); + return quickMap[tag] || tag; + } + hooks.getTag = getTagFirefox; +} +B.aw=function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("Trident/") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "HTMLDDElement": "HTMLElement", + "HTMLDTElement": "HTMLElement", + "HTMLPhraseElement": "HTMLElement", + "Position": "Geoposition" + }; + function getTagIE(o) { + var tag = getTag(o); + var newTag = quickMap[tag]; + if (newTag) return newTag; + if (tag == "Object") { + if (window.DataView && (o instanceof window.DataView)) return "DataView"; + } + return tag; + } + function prototypeForTagIE(tag) { + var constructor = window[tag]; + if (constructor == null) return null; + return constructor.prototype; + } + hooks.getTag = getTagIE; + hooks.prototypeForTag = prototypeForTagIE; +} +B.av=function(hooks) { + var getTag = hooks.getTag; + var prototypeForTag = hooks.prototypeForTag; + function getTagFixed(o) { + var tag = getTag(o); + if (tag == "Document") { + if (!!o.xmlVersion) return "!Document"; + return "!HTMLDocument"; + } + return tag; + } + function prototypeForTagFixed(tag) { + if (tag == "Document") return null; + return prototypeForTag(tag); + } + hooks.getTag = getTagFixed; + hooks.prototypeForTag = prototypeForTagFixed; +} +B.a3=function(hooks) { return hooks; } + +B.o=new A.hn() +B.az=new A.kt() +B.aA=new A.hu() +B.aB=new A.hy() +B.f=new A.kL() +B.j=new A.hU() +B.i=new A.hV() +B.z=new A.mo() +B.d=new A.iD() +B.A=new A.br(0) +B.aE=new A.bt("Cannot read message",null,null) +B.aF=new A.bt("Unknown tag",null,null) +B.aK=A.d(s([11]),t.t) +B.aL=A.d(s([0,0,32722,12287,65534,34815,65534,18431]),t.t) +B.p=A.d(s([0,0,65490,45055,65535,34815,65534,18431]),t.t) +B.aM=A.d(s([0,0,32754,11263,65534,34815,65534,18431]),t.t) +B.a4=A.d(s([0,0,26624,1023,65534,2047,65534,2047]),t.t) +B.aN=A.d(s([0,0,32722,12287,65535,34815,65534,18431]),t.t) +B.a5=A.d(s([0,0,65490,12287,65535,34815,65534,18431]),t.t) +B.a6=A.d(s([0,0,32776,33792,1,10240,0,0]),t.t) +B.G=new A.bL(0,"opfs") +B.am=new A.bL(1,"indexedDb") +B.aO=A.d(s([B.G,B.am]),A.av("w")) +B.bl=new A.dp(0,"insert") +B.bm=new A.dp(1,"update") +B.bn=new A.dp(2,"delete") +B.a7=A.d(s([B.bl,B.bm,B.bn]),A.av("w")) +B.I=new A.ad(A.pF(),A.b6(),0,"xAccess",t.b0) +B.H=new A.ad(A.pF(),A.bT(),1,"xDelete",A.av("ad")) +B.T=new A.ad(A.pF(),A.b6(),2,"xOpen",t.b0) +B.R=new A.ad(A.b6(),A.b6(),3,"xRead",t.dx) +B.M=new A.ad(A.b6(),A.bT(),4,"xWrite",t.R) +B.N=new A.ad(A.b6(),A.bT(),5,"xSleep",t.R) +B.O=new A.ad(A.b6(),A.bT(),6,"xClose",t.R) +B.S=new A.ad(A.b6(),A.b6(),7,"xFileSize",t.dx) +B.P=new A.ad(A.b6(),A.bT(),8,"xSync",t.R) +B.Q=new A.ad(A.b6(),A.bT(),9,"xTruncate",t.R) +B.K=new A.ad(A.b6(),A.bT(),10,"xLock",t.R) +B.L=new A.ad(A.b6(),A.bT(),11,"xUnlock",t.R) +B.J=new A.ad(A.bT(),A.bT(),12,"stopServer",A.av("ad")) +B.aP=A.d(s([B.I,B.H,B.T,B.R,B.M,B.N,B.O,B.S,B.P,B.Q,B.K,B.L,B.J]),A.av("w>")) +B.B=A.d(s([]),t.W) +B.aQ=A.d(s([]),t.gz) +B.aR=A.d(s([]),t.f) +B.r=A.d(s([]),t.s) +B.t=A.d(s([]),t.c) +B.C=A.d(s([]),t.L) +B.ak=new A.cd(0,"opfsShared") +B.al=new A.cd(1,"opfsLocks") +B.w=new A.cd(2,"sharedIndexedDb") +B.F=new A.cd(3,"unsafeIndexedDb") +B.bu=new A.cd(4,"inMemory") +B.aT=A.d(s([B.ak,B.al,B.w,B.F,B.bu]),A.av("w")) +B.b5=new A.cC(0,"custom") +B.b6=new A.cC(1,"deleteOrUpdate") +B.b7=new A.cC(2,"insert") +B.b8=new A.cC(3,"select") +B.a8=A.d(s([B.b5,B.b6,B.b7,B.b8]),A.av("w")) +B.aD=new A.d2("/database",0,"database") +B.aC=new A.d2("/database-journal",1,"journal") +B.a9=A.d(s([B.aD,B.aC]),A.av("w")) +B.ad=new A.c3(0,"beginTransaction") +B.aW=new A.c3(1,"commit") +B.aX=new A.c3(2,"rollback") +B.ae=new A.c3(3,"startExclusive") +B.af=new A.c3(4,"endExclusive") +B.aa=A.d(s([B.ad,B.aW,B.aX,B.ae,B.af]),A.av("w")) +B.ab=A.d(s([0,0,24576,1023,65534,34815,65534,18431]),t.t) +B.m=new A.cB(0,"sqlite") +B.b2=new A.cB(1,"mysql") +B.b3=new A.cB(2,"postgres") +B.b4=new A.cB(3,"mariadb") +B.ac=A.d(s([B.m,B.b2,B.b3,B.b4]),A.av("w")) +B.aY={} +B.aU=new A.ee(B.aY,[],A.av("ee")) +B.D=new A.da(0,"terminateAll") +B.bN=new A.ku(2,"readWriteCreate") +B.u=new A.cA(0,0,"legacy") +B.aZ=new A.cA(1,1,"v1") +B.b_=new A.cA(2,2,"v2") +B.b0=new A.cA(3,3,"v3") +B.v=new A.cA(4,4,"v4") +B.aS=A.d(s([]),t.d) +B.b1=new A.bC(B.aS) +B.ah=new A.hL("drift.runtime.cancellation") +B.b9=A.bd("fS") +B.ba=A.bd("oG") +B.bb=A.bd("jV") +B.bc=A.bd("jW") +B.bd=A.bd("kc") +B.be=A.bd("kd") +B.bf=A.bd("ke") +B.bg=A.bd("e") +B.bh=A.bd("lq") +B.bi=A.bd("lr") +B.bj=A.bd("ls") +B.bk=A.bd("at") +B.bo=new A.aL(10) +B.bp=new A.aL(12) +B.ai=new A.aL(14) +B.bq=new A.aL(2570) +B.br=new A.aL(3850) +B.bs=new A.aL(522) +B.aj=new A.aL(778) +B.bt=new A.aL(8) +B.U=new A.dH("above root") +B.V=new A.dH("at root") +B.bv=new A.dH("reaches root") +B.W=new A.dH("below root") +B.k=new A.dI("different") +B.X=new A.dI("equal") +B.n=new A.dI("inconclusive") +B.Y=new A.dI("within") +B.x=new A.dO("") +B.bw=new A.au(B.d,A.x5()) +B.bx=new A.au(B.d,A.x9()) +B.by=new A.au(B.d,A.x2()) +B.bz=new A.au(B.d,A.x3()) +B.bA=new A.au(B.d,A.x4()) +B.bB=new A.au(B.d,A.x6()) +B.bC=new A.au(B.d,A.x8()) +B.bD=new A.au(B.d,A.xa()) +B.bE=new A.au(B.d,A.xb()) +B.bF=new A.au(B.d,A.xc()) +B.bG=new A.au(B.d,A.xd()) +B.bH=new A.au(B.d,A.x1()) +B.bI=new A.au(B.d,A.x7()) +B.bJ=new A.iQ(null,null,null,null,null,null,null,null,null,null,null,null,null)})();(function staticFields(){$.ns=null +$.cV=A.d([],t.f) +$.t5=null +$.qk=null +$.pV=null +$.pU=null +$.rX=null +$.rQ=null +$.t6=null +$.oj=null +$.oq=null +$.py=null +$.nv=A.d([],A.av("w?>")) +$.dU=null +$.fx=null +$.fy=null +$.po=!1 +$.j=B.d +$.nx=null +$.qV=null +$.qW=null +$.qX=null +$.qY=null +$.p4=A.mg("_lastQuoRemDigits") +$.p5=A.mg("_lastQuoRemUsed") +$.eS=A.mg("_lastRemUsed") +$.p6=A.mg("_lastRem_nsh") +$.qO="" +$.qP=null +$.rw=null +$.o4=null})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal,r=hunkHelpers.lazy +s($,"y5","e2",()=>A.xs("_$dart_dartClosure")) +s($,"zk","tT",()=>B.d.be(new A.ot(),A.av("D<~>"))) +s($,"yk","tf",()=>A.bG(A.lp({ +toString:function(){return"$receiver$"}}))) +s($,"yl","tg",()=>A.bG(A.lp({$method$:null, +toString:function(){return"$receiver$"}}))) +s($,"ym","th",()=>A.bG(A.lp(null))) +s($,"yn","ti",()=>A.bG(function(){var $argumentsExpr$="$arguments$" +try{null.$method$($argumentsExpr$)}catch(q){return q.message}}())) +s($,"yq","tl",()=>A.bG(A.lp(void 0))) +s($,"yr","tm",()=>A.bG(function(){var $argumentsExpr$="$arguments$" +try{(void 0).$method$($argumentsExpr$)}catch(q){return q.message}}())) +s($,"yp","tk",()=>A.bG(A.qK(null))) +s($,"yo","tj",()=>A.bG(function(){try{null.$method$}catch(q){return q.message}}())) +s($,"yt","to",()=>A.bG(A.qK(void 0))) +s($,"ys","tn",()=>A.bG(function(){try{(void 0).$method$}catch(q){return q.message}}())) +s($,"yv","pJ",()=>A.vc()) +s($,"yc","cn",()=>$.tT()) +s($,"yb","tc",()=>A.vn(!1,B.d,t.y)) +s($,"yF","tu",()=>{var q=t.z +return A.q8(q,q)}) +s($,"yJ","ty",()=>A.qh(4096)) +s($,"yH","tw",()=>new A.nT().$0()) +s($,"yI","tx",()=>new A.nS().$0()) +s($,"yw","tp",()=>A.uL(A.iR(A.d([-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-2,-2,-2,-2,-2,62,-2,62,-2,63,52,53,54,55,56,57,58,59,60,61,-2,-2,-2,-1,-2,-2,-2,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-2,-2,-2,-2,63,-2,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-2,-2,-2,-2,-2],t.t)))) +s($,"yD","b7",()=>A.eR(0)) +s($,"yB","fF",()=>A.eR(1)) +s($,"yC","ts",()=>A.eR(2)) +s($,"yz","pL",()=>$.fF().aB(0)) +s($,"yx","pK",()=>A.eR(1e4)) +r($,"yA","tr",()=>A.J("^\\s*([+-]?)((0x[a-f0-9]+)|(\\d+)|([a-z0-9]+))\\s*$",!1,!1,!1,!1)) +s($,"yy","tq",()=>A.qh(8)) +s($,"yE","tt",()=>typeof FinalizationRegistry=="function"?FinalizationRegistry:null) +s($,"yG","tv",()=>A.J("^[\\-\\.0-9A-Z_a-z~]*$",!0,!1,!1,!1)) +s($,"z1","oC",()=>A.pB(B.bg)) +s($,"z4","tJ",()=>A.wb()) +s($,"yd","td",()=>{var q=new A.nr(new DataView(new ArrayBuffer(A.w9(8)))) +q.hX() +return q}) +s($,"yu","pI",()=>A.ul(B.aO,A.av("bL"))) +s($,"zo","tU",()=>A.jt(null,$.fE())) +s($,"zm","fG",()=>A.jt(null,$.cW())) +s($,"ze","iZ",()=>new A.fW($.pH(),null)) +s($,"yh","te",()=>new A.kw(A.J("/",!0,!1,!1,!1),A.J("[^/]$",!0,!1,!1,!1),A.J("^/",!0,!1,!1,!1))) +s($,"yj","fE",()=>new A.lY(A.J("[/\\\\]",!0,!1,!1,!1),A.J("[^/\\\\]$",!0,!1,!1,!1),A.J("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])",!0,!1,!1,!1),A.J("^[/\\\\](?![/\\\\])",!0,!1,!1,!1))) +s($,"yi","cW",()=>new A.lw(A.J("/",!0,!1,!1,!1),A.J("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$",!0,!1,!1,!1),A.J("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*",!0,!1,!1,!1),A.J("^/",!0,!1,!1,!1))) +s($,"yg","pH",()=>A.v0()) +s($,"zd","tS",()=>A.pS("-9223372036854775808")) +s($,"zc","tR",()=>A.pS("9223372036854775807")) +s($,"zj","e3",()=>{var q=$.tt() +q=q==null?null:new q(A.cl(A.y2(new A.ok(),A.av("bs")),1)) +return new A.il(q,A.av("il"))}) +s($,"y4","fD",()=>$.td()) +s($,"y3","oA",()=>A.uG(A.d(["files","blocks"],t.s))) +s($,"y7","oB",()=>{var q,p,o=A.a3(t.N,t.ez) +for(q=0;q<2;++q){p=B.a9[q] +o.q(0,p.c,p)}return o}) +s($,"y6","t9",()=>new A.h7(new WeakMap())) +s($,"zb","tQ",()=>A.J("^#\\d+\\s+(\\S.*) \\((.+?)((?::\\d+){0,2})\\)$",!0,!1,!1,!1)) +s($,"z6","tL",()=>A.J("^\\s*at (?:(\\S.*?)(?: \\[as [^\\]]+\\])? \\((.*)\\)|(.*))$",!0,!1,!1,!1)) +s($,"z7","tM",()=>A.J("^(.*?):(\\d+)(?::(\\d+))?$|native$",!0,!1,!1,!1)) +s($,"za","tP",()=>A.J("^\\s*at (?:(?.+) )?(?:\\(?(?:(?\\S+):wasm-function\\[(?\\d+)\\]\\:0x(?[0-9a-fA-F]+))\\)?)$",!0,!1,!1,!1)) +s($,"z5","tK",()=>A.J("^eval at (?:\\S.*?) \\((.*)\\)(?:, .*?:\\d+:\\d+)?$",!0,!1,!1,!1)) +s($,"yV","tA",()=>A.J("(\\S+)@(\\S+) line (\\d+) >.* (Function|eval):\\d+:\\d+",!0,!1,!1,!1)) +s($,"yX","tC",()=>A.J("^(?:([^@(/]*)(?:\\(.*\\))?((?:/[^/]*)*)(?:\\(.*\\))?@)?(.*?):(\\d*)(?::(\\d*))?$",!0,!1,!1,!1)) +s($,"yZ","tE",()=>A.J("^(?.*?)@(?:(?\\S+).*?:wasm-function\\[(?\\d+)\\]:0x(?[0-9a-fA-F]+))$",!0,!1,!1,!1)) +s($,"z3","tI",()=>A.J("^.*?wasm-function\\[(?.*)\\]@\\[wasm code\\]$",!0,!1,!1,!1)) +s($,"z_","tF",()=>A.J("^(\\S+)(?: (\\d+)(?::(\\d+))?)?\\s+([^\\d].*)$",!0,!1,!1,!1)) +s($,"yU","tz",()=>A.J("<(|[^>]+)_async_body>",!0,!1,!1,!1)) +s($,"z2","tH",()=>A.J("^\\.",!0,!1,!1,!1)) +s($,"y8","ta",()=>A.J("^[a-zA-Z][-+.a-zA-Z\\d]*://",!0,!1,!1,!1)) +s($,"y9","tb",()=>A.J("^([a-zA-Z]:[\\\\/]|\\\\\\\\)",!0,!1,!1,!1)) +s($,"z8","tN",()=>A.J("\\n ?at ",!0,!1,!1,!1)) +s($,"z9","tO",()=>A.J(" ?at ",!0,!1,!1,!1)) +s($,"yW","tB",()=>A.J("@\\S+ line \\d+ >.* (Function|eval):\\d+:\\d+",!0,!1,!1,!1)) +s($,"yY","tD",()=>A.J("^(([.0-9A-Za-z_$/<]|\\(.*\\))*@)?[^\\s]*:\\d*$",!0,!1,!0,!1)) +s($,"z0","tG",()=>A.J("^[^\\s<][^\\s]*( \\d+(:\\d+)?)?[ \\t]+[^\\s]+$",!0,!1,!0,!1)) +s($,"zn","pM",()=>A.J("^\\n?$",!0,!1,!0,!1))})();(function nativeSupport(){!function(){var s=function(a){var m={} +m[a]=1 +return Object.keys(hunkHelpers.convertToFastObject(m))[0]} +v.getIsolateTag=function(a){return s("___dart_"+a+v.isolateTag)} +var r="___dart_isolate_tags_" +var q=Object[r]||(Object[r]=Object.create(null)) +var p="_ZxYxX" +for(var o=0;;o++){var n=s(p+"_"+o+"_") +if(!(n in q)){q[n]=1 +v.isolateTag=n +break}}v.dispatchPropertyName=v.getIsolateTag("dispatch_record")}() +hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer:A.d7,ArrayBufferView:A.ew,DataView:A.cy,Float32Array:A.ho,Float64Array:A.hp,Int16Array:A.hq,Int32Array:A.d8,Int8Array:A.hr,Uint16Array:A.hs,Uint32Array:A.ht,Uint8ClampedArray:A.ex,CanvasPixelArray:A.ex,Uint8Array:A.c2}) +hunkHelpers.setOrUpdateLeafTags({ArrayBuffer:true,ArrayBufferView:false,DataView:true,Float32Array:true,Float64Array:true,Int16Array:true,Int32Array:true,Int8Array:true,Uint16Array:true,Uint32Array:true,Uint8ClampedArray:true,CanvasPixelArray:true,Uint8Array:false}) +A.d9.$nativeSuperclassTag="ArrayBufferView" +A.f9.$nativeSuperclassTag="ArrayBufferView" +A.fa.$nativeSuperclassTag="ArrayBufferView" +A.c1.$nativeSuperclassTag="ArrayBufferView" +A.fb.$nativeSuperclassTag="ArrayBufferView" +A.fc.$nativeSuperclassTag="ArrayBufferView" +A.aT.$nativeSuperclassTag="ArrayBufferView"})() +Function.prototype.$0=function(){return this()} +Function.prototype.$1=function(a){return this(a)} +Function.prototype.$2=function(a,b){return this(a,b)} +Function.prototype.$1$1=function(a){return this(a)} +Function.prototype.$3=function(a,b,c){return this(a,b,c)} +Function.prototype.$4=function(a,b,c,d){return this(a,b,c,d)} +Function.prototype.$3$1=function(a){return this(a)} +Function.prototype.$2$1=function(a){return this(a)} +Function.prototype.$3$3=function(a,b,c){return this(a,b,c)} +Function.prototype.$2$2=function(a,b){return this(a,b)} +Function.prototype.$2$3=function(a,b,c){return this(a,b,c)} +Function.prototype.$1$2=function(a,b){return this(a,b)} +Function.prototype.$5=function(a,b,c,d,e){return this(a,b,c,d,e)} +Function.prototype.$6=function(a,b,c,d,e,f){return this(a,b,c,d,e,f)} +Function.prototype.$1$0=function(){return this()} +convertAllToFastObject(w) +convertToFastObject($);(function(a){if(typeof document==="undefined"){a(null) +return}if(typeof document.currentScript!="undefined"){a(document.currentScript) +return}var s=document.scripts +function onLoad(b){for(var q=0;q #include #include +#include #include #include @@ -61,6 +62,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("ScreenBrightnessWindowsPlugin")); SharePlusWindowsPluginCApiRegisterWithRegistrar( registry->GetRegistrarForPlugin("SharePlusWindowsPluginCApi")); + Sqlite3FlutterLibsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("Sqlite3FlutterLibsPlugin")); TrayManagerPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("TrayManagerPlugin")); UrlLauncherWindowsRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index ad95f7e..b9e9598 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -20,6 +20,7 @@ list(APPEND FLUTTER_PLUGIN_LIST permission_handler_windows screen_brightness_windows share_plus + sqlite3_flutter_libs tray_manager url_launcher_windows )